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是分配了内存空间的

猜你喜欢

转载自blog.csdn.net/li_xunhuan/article/details/88674175