当前位置:首页 » 编程语言 » java不加this

java不加this

发布时间: 2022-08-20 16:58:39

java 为什么service层 不要使用 this

this 是指的当前类 通常都会用 this.方法 来调用当前类的非静态方法
当你使用this默认就会创建一个当前类的对象 所以最好不要随便使用
service 一般是用来处理逻辑,实现接口的 一般也不会在 service 写什么工具方法 如果需要工具方法也是写在 工具类里面.
在编码规范里面 是 不让使用的,当然如果只是练习什么的 用不用都无所谓没什么 太大影响

⑵ java中的this问题

我理解的是,this代表这个类本身,对于F.java这个类而言,相当于在说“我”,方法b中调用了this.a(),可以理解为方法b调用了“我的a方法”。
对于这个例子而言,其实加不加this,结果都一样,但对于这个例子就有用了:
假设有一个类叫G.java,其拥有一个和F.java一模一样的方法a:
public class G {
public void a(Object args1) {

}
}
并且此时,F继承自G:
public class F extends G{
public void a(Object args1) {

}
public void b(String args2) {
this.a(args2);
super.a(args2);
}
此时注意我上面写的b方法,b方法中既要调用F自己的a方法,又要调用父类G中的a方法,为防止出现歧义,我们在调用F的a方法时,就使用this作为修饰;调用G的a方法时,就使用super作为修饰,这样就一目了然不是吗。
然后如果不加this,比如b方法定义为:
public void b(String args2) {
a(args2);
}
其实默认就是调用了F自身的a方法,可以理解为不加this时,java会默认给它加上this。
另外说一下你的例子如何输出一个东西,你需要在你的a方法里加上比如:
public void a(Object args1) {
System.out.println(args1.toString());
}
在你的main函数中不要传入null,否则将引起空指针异常,你可以传入比如:
public static void mian(String[] args) {
new F().b("哈哈哈");
}
这样运行时最终会在控制台输出“哈哈哈”

⑶ java,构造函数中调用同一个类的其他构造函数时不使用this,如何实现

在本类中用静态方法,可以不用this
public class S {

public S() {
ssss();
}
public static void ssss(){ //static 静态(修饰符)

}
}

⑷ Java:关于Java中的this,这里为什么加不加都一样呢

this指直译是“这个”,在java中指“当前的”。不管在哪里,只要用到this,指的一定就是当前的这个对象。最常见的用法是在写java bean中。比如下面的代码

publicclassStudent{
privateStringname;
privateintage;
publicStudent(){}
publicStudent(Stringname,intage){
this();
this.setName(name);
this.age=age;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicintgetAge(){
returnthis.age;
}
}

上面的代码是一个javabean。所谓的javabean就是一个类,这个类有一些属性,方法只有这些属性的Getter或者Setter(从Object类继承的方法不算在此列)。
这个bean有两个属性,在构造器中为属性赋值的时候写的this.setName(name).意思是调用当前你创建的这个对象的Setter给这个对象的属性赋值。而setName里面的this.name=name;这一句,等号之前的this.name表示当前对象的name,也就是在类里面定义的privateStringname这个变量,而等号之后的name表示从外界调用这个方法时候传进来的参数。所以这句话的意思就是将外界传来的字符串变量的值赋给当前对象的name属性。
那么构造器第一行的this()是做什么的呢?这句话是调用当前这个对象的无参构造,就是调用上面的publicStudent(){}这个构造器。在这段代码里this()体现不出来什么作用。但是我们知道构造器的作用是在构造对象的时候给属性赋值的。如果上面个无参构造里面写一些赋值语句的话那么这里就可以避免代码的重复了。但是请注意,调用this()的时候一定要写在该方法的第一行,否则会报错。
另外,this关键字不能使用在有static关键字修饰的方法和代码块里面。因为static是这个类的所有对象共用的,而this指的只是当前这个对象的“私人”的一些东西,在属性上面就冲突了。

⑸ java里面的this.在什么情况下可以省略吧,哪位大神可以帮我下啊!

没有局部变量与this指向的变量重名时可以省略。

⑹ Java:为什么这里不用this就能获得当前线程名呢

当线程类继承了Thread类时,直接可以用this获取当前线程
相当于this.getName(),再将this省略。
Thread.currentThread().getName()这个是通用的,绝对不会错的、你线程类实现Runnable接口也可以用这个取得当前线程名!

⑺ 什么时候可以省略this java

比方说有两个类,A,B,当你的类A继辰自类B时,在类A理面调用类B的方法时,可以省略this,就是说你原来要写成this.xxxx()方法。现在只需要写成xxxx()方法就可以了,这样说你懂了吗???

⑻ Java中,在构造方法里调用本类中的方法是不是可以省略this

可以

Java关键字this只能用于方法方法体内。当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是this。因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,这在“Java关键字static、final使用总结”一文中给出了明确解释。并且this只和特定的对象关联,而不和类关联,同一个类的不同对象有不同的this。

⑼ JAVA函数中加和不加this的区别

对于当前a()方法没有影响,也没有区别;

为什么没有区别?

因为a方法中没有变量名为b、c、d的变量,这三个变量应该都是当前类中声明的变量(或者父类中的),那么在使用的时候加与不加关键字this,对结果没有影响。

你可能会问,什么时候有区别?也可能会问,什么是父类中的?

请追问,我原本把问题答案写好了,但是不知道为啥突然没了

注:当方法中没有声明指定的变量(例如变量b),或者方法中没有指定的变量参数(例如变量b)。那么在方法中使用变量b(书写:“b”),java语言便会默认成 “this.b”(前提是,类中声明了变量b ,或者该类继承到了变量b)。

热点内容
服务器怎么证明是好的 发布:2024-05-17 18:39:28 浏览:682
树莓派如何搭建mqtt服务器 发布:2024-05-17 18:27:38 浏览:436
门口机sip服务器ip是什么 发布:2024-05-17 17:38:27 浏览:553
光遇安卓区是什么服 发布:2024-05-17 17:22:25 浏览:24
linux驱动开发教程 发布:2024-05-17 17:19:52 浏览:501
抖音中秋节视频脚本 发布:2024-05-17 17:19:51 浏览:194
快递柜为什么用安卓系统 发布:2024-05-17 17:17:18 浏览:907
电脑配置光纤接口怎么标注 发布:2024-05-17 17:06:56 浏览:977
如何用方向键控制安卓机 发布:2024-05-17 16:38:11 浏览:199
雨田系统源码 发布:2024-05-17 16:28:06 浏览:587