classPerson{privateStringname;//表示人的姓名privateintage;//表示人的年龄publicvoidtell(){//定义说话的方法System.out.println("姓名:"+this.getName()+",年龄:"+this.getAge...
class Person{
private String name;// 表示人的姓名
private int age ;// 表示人的年龄
public void tell(){// 定义说话的方法
System.out.println("姓名:" + this.getName() + ",年龄:" + this.getAge()) ;
}
public Person(){
System.out.println("########");
}
public void setName(String n){
name = n ;
}
public void setAge(int a){
if(a>=0&&a<=200){
age = a ;
}
}
public String getName(){
return name ;
}
public int getAge(){
return age ;
}
};
public class OODemo10{
public static void main(String args[]){
Person per = new Person() ;// 实例化对象
System.out.println(per.getName());
System.out.println(per.getAge());
}
};
随便拷贝了一个代码
问题:我知道结果会输出
########
null
0
我们说构造方法的主要目的是为类中的属性初始化的,那无参构造方法的目的是不是也是这样,那么上面代码中的无参构造具体是怎么为类中的属性初始化的,我知道在使用new关键字的时候才会调用构造方法。但是上面代码中的null和0应该是在定义name和age属性时就产生了的。还有假如没有定义构造方法会自动生成一个无参构造,为什么要自动生成无参构造呢,还有无参构造的方法体是不是像上面那样打印###可以随便写
展开