黑马程序员技术交流社区
标题:
java的构造函数
[打印本页]
作者:
横溢天使
时间:
2015-9-15 10:17
标题:
java的构造函数
两个构造函数的区别是什么?
Person(String name)
{
System.out.println("my name is..."+this.name+"....my age is.."+this.age);
}
Person(String name)
{
System.out.println("my name is..."+name+"....my age is.."+age);
}
为什么new Person("lisi")后的结果不同呢?this使用的不对吗?
复制代码
作者:
不隆卡
时间:
2015-9-15 10:30
this.name指向的是结构体中的name成员,而name指向的是构造函数的临时变量
作者:
横溢天使
时间:
2015-9-15 10:35
不是说+name那缺省的是this吗?所以我就加上了,结果打印不出名字,而不加this关键字就能打印出名字。求正解啊
作者:
不隆卡
时间:
2015-9-15 10:46
横溢天使 发表于 2015-9-15 10:35
不是说+name那缺省的是this吗?所以我就加上了,结果打印不出名字,而不加this关键字就能打印出名字。求正 ...
this指向的是结构体的成员啊,你的name只是临时变量啊
作者:
boboyuwu
时间:
2015-9-15 11:32
第一个的this.name是类中的成员变量,第二个name是参数
作者:
liufeibo
时间:
2015-9-15 15:38
顶一下楼主
作者:
asdsy222
时间:
2015-9-15 15:43
我也不知道。。。同求给力答案
作者:
天之饺子
时间:
2015-9-15 17:33
this.name说的是成员变量中的name啊 并没有赋值 所以输出为null 而下面的name说的是局部变量 赋了值“lili”
所以就输出这个。。
作者:
德胜
时间:
2015-9-15 17:43
反正结果都一样
作者:
a80C51
时间:
2015-9-15 18:01
这个是this的用法,this指向调用者。而this.name的话,并没有赋值。
作者:
spruce
时间:
2015-9-15 19:06
8楼正解
作者:
chenyannna
时间:
2015-9-15 19:57
用的对,前后代码结合着看
作者:
chenyannna
时间:
2015-9-15 19:59
谁调用this就返回谁就是了
作者:
zhangcheng0403
时间:
2015-9-15 20:32
肯定不同第一个调用的是成员变量,第二个调用的是参数。
作者:
纳木错的程序猿
时间:
2015-9-15 23:47
代码没贴全吧。不过看着几位说的好像也明白了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2