Java-方法重载时 调用未定义的对象属性

public class TestWayReload { int id; String name; String pwd; public TestWayReload(){ System.out.println(“Hellow World!”); System.out.println("################"); }

public TestWayReload(int id,String name){
	super();
	this.id =id;
	this.name=name;
}

public TestWayReload(int id ,String name,String pwd){
	this.id = id;
	this.name= name;
	this.pwd= pwd;
}

public static void main(String[] args){
	
	TestWayReload u1 = new TestWayReload();
	
	TestWayReload u2 = new TestWayReload(101,"李寻欢");
	System.out.println(u2.id);
	System.out.println(u2.name);
	System.out.println(u2.pwd);
	System.out.println("##########");

	TestWayReload u3 = new TestWayReload(100,"李寻欢","233333");
	System.out.println(u3.id);
	System.out.println(u3.name);
	System.out.println(u3.pwd);
	System.out.println("##########");
}

}

结果: Hellow World! ################ 101 李寻欢 null ########## 100 李寻欢 233333 ##########

疑问:我重载给u2,明显没有.psd这个属性,但是eclipse编译器并没有报错,却输出了一个null

之后 加上语句 u2.pwd=“123”; System.out.println(u2.pwd); 确实能输出123,发现编译器实际上对于u2.pwd是分配了内存空间的

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券