首页 新闻 会员 周边

关于java中的构造器

0
悬赏园豆:10 [已解决问题] 解决于 2019-04-07 20:15

java的构造方法中,类似于this.name=name; 是啥意思呀?

爱听音乐的猪的主页 爱听音乐的猪 | 初学一级 | 园豆:189
提问于:2019-04-06 21:43
< >
分享
最佳答案
0

把形参的值赋值给实例变量。因为实例变量和形式变量的名字一样,所以使用this来作为区分。默认不写this也可以,Java编译器会自动添加上。

收获园豆:10
须弥shan | 菜鸟二级 |园豆:224 | 2019-04-06 22:32
其他回答(2)
0

public void setName(String name){
this.name=name;
}
this.name指当前类的name
this.name=name;是指将name的值赋给当前类的name

一世红尘 | 园豆:321 (菜鸟二级) | 2019-04-07 00:26
0

public Person( String name,int age){
this.name=name;
this.age = age
}
对于上面构造方法,this代表谁来调用就代表谁,比如现在我在外面new了一个有参构造 Person p = new Person("张三",18);
一旦在外面创建该构造对应的语句,加载进内存,this就代表这个p,在内存中,this,name=name 就相当于p.name = "张三";
通过this,该对象有了实际值。这是我自己的想法而已,只要记得this代表谁来调用就代表谁,并且this只能在创建对象后才有,静态是直接加载进内存,是没有this说法

陪看天涯海角 | 园豆:204 (菜鸟二级) | 2019-04-24 11:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册