JAVA中this()和this.的区别

 我来答
Big嘴
推荐于2017-09-19 · TA获得超过4097个赞
知道小有建树答主
回答量:697
采纳率:50%
帮助的人:641万
展开全部
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);
}
}
03071328
2011-01-11
知道答主
回答量:18
采纳率:0%
帮助的人:10.7万
展开全部
当java对象被new到堆内存时,它除了包含成员变量和成员方法外,还包含一个this引用,这个引用指向该对象本身。可以这么认为,this相当于一个指针,它指向对象本身,同时它还在对象内部。用this.可以调用该对象的成员变量和成员方法。this()我还没用过。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
清晨十点
推荐于2018-02-10
知道答主
回答量:22
采纳率:0%
帮助的人:14.3万
展开全部
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就是指本对象自身。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jaurim410
2011-01-11 · TA获得超过273个赞
知道小有建树答主
回答量:880
采纳率:0%
帮助的人:351万
展开全部
带 小括号的是方法
带点的表示当前对象
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式