关于this的小问题~~

larrygao927 larrygao927 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
class person
{
String name;
person(){}
person(String name)
{
this.name=name;
}
void fun1()
{
System.out.println(name);
}
void fun2()
{
new person("hello");
this.fun1();
}
}
class gcx
{
public static void main(String[] args)
{
person a=new person();
a.fun2();
}
}
结果显示的是null~按我理解的,应该能显示出hello~~
我理解的流程是:先在main里创建对象,并调用fun2(),在fun2()中先执行person有参数的构造函数~这时name等于hello,this.name也是hello,this.name代表person类开始时声明的name~~再执行fun1(),this.fun1()的意思就是调用fun2()的对象也调用fun1(),在System.out.println中的name是person类开始时声明的name~~这样就输出hello了~~
这样的理解对吗?
...全文

相关推荐

评论 8
收藏 已收藏
分享
返回顶部
larrygao927
Java SE 62,620 成员 307,251 内容