本帖最后由 会飞De石头 于 2014-6-23 14:18 编辑
以下三种构造函数,
按构造1创建对象的话,无论传入参数是什么,调用speak()后均是默认值(对象为null,基本类型为0或0.0),按构造2切不会?
想问问是怎么回事?尤其是内存的分布
class Person{
private String name;
private int age;
//构造函数1
Person (String name, int age){
name = name ;
age = age;
}
//构造函数2
Person (String n, int a){
name = n;
age = a;
}
//构造函数3
Person (String name,int age){
this.age = age;
this.name = name;
}
public void speak(){
System.out.println("年龄是="+age);
}
|
|