JAVA中this()和this.的区别

如题所述

java中this有两种用法:
1、代表当前类
public class Dog{
private String name;
private float age;
public setName(String name){
this.name = name;
}
.......
}
这里的this就代表的当前的这个Dog类。this.name可以理解为dog.name,只是理解,不是等于。
之所以要用this.name = name;这种语法,这是java所提倡的写法,如果你的方法参数与类属性的名称不同,this大可不必要,但是java提倡构造方法参数与类属性名称相同的作法。
2、在构造函数中的使用
public class Dog{
private String name;
private int age;
//有一个参数的构造函数
public Dog(String name){
this.name = name;
}
public Dog(String name,int age){
this.name = name;
this.age = age;
}
//这个无参构造方法里调用的有两个参数的构造方法,这个也就是this的第二种用法了!
public Dog(){
this("nihao",20);
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-01-11
当java对象被new到堆内存时,它除了包含成员变量和成员方法外,还包含一个this引用,这个引用指向该对象本身。可以这么认为,this相当于一个指针,它指向对象本身,同时它还在对象内部。用this.可以调用该对象的成员变量和成员方法。this()我还没用过。
第2个回答  推荐于2018-02-10
public ClassName(){
System.out.println("sssssssssssss");
}
public ClassName(String a){
this();
System.out.println(a);
}
public static void main(String[] args) {
new ClassName("asdf");
}

运行结果就是:
sssssssssssss
asdf

this() 就是调用自己的无参构造方法,和super()一个道理。
this就是指本对象自身。本回答被网友采纳
第3个回答  2011-01-11
带 小括号的是方法
带点的表示当前对象
相似回答