在写类时,如果没写无参的构造函数,在初始化是,jvm会默认运行带参的构造函数,这时就不能这样new一个对象:
Teacher t = new Teacher();
只能用
Teacher t = new Teacher(“Liu Shishi”,27)
即在new一个对象的时候就初始化class
实际代码Demo:
class Teacher{
private String name;
private int age;
public Teacher(String name,int age){
this.name = name;
this.age = age;
}
//getXxx() and setXxx()
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
public int getAge(){
return age;
}
public void setAge(int age){
this.age = age;
}
public void show(){
System.out.println("The teacher's name is "+name);
System.out.println("The teacher's age is "+age);
}
}
class TeacherDemo{
public static void main(String[] args) {
Teacher t = new Teacher();
t.show();
}
}
/*
running result:
Teacher t = new Teacher();
^
需要: String,int
找到: 没有参数
原因: 实际参数列表和形式参数列表长度不同
1 个错误
*/