注意事项:
1.如果子类构造方法是引用另一个子类的构造方法,则可以不在第一句写父类的构造方法super(xxx),并且父类的构造方法里也没有必要有无参数的构造方法;
2.注意子类的构造方法里引用自己其它的构造方法,用this关键词;
3.注意super构造方法和普通方法的引用区别,一个是super(参数),另一个是super.普通方法;
1.如果子类构造方法是引用另一个子类的构造方法,则可以不在第一句写父类的构造方法super(xxx),并且父类的构造方法里也没有必要有无参数的构造方法;
2.注意子类的构造方法里引用自己其它的构造方法,用this关键词;
3.注意super构造方法和普通方法的引用区别,一个是super(参数),另一个是super.普通方法;
4.注意别忘了写extends,囧。。。。
class Person{
String name;
int age;
Person(String name){
this.name = name;
this.age = 25;
}
Person(String name, int age){
this.name = name;
this.age = age;
}
void getInfo(){
System.out.println("name is "+name+"\n"+"age is "+age);
}
}
class Teacher extends Person{
String profTitle;
Teacher(String name, String profTitle){
this(name,25,profTitle);
}
Teacher(String name, int age, String profTitle){
super(name,age);
this.profTitle = profTitle;
}
void getInfo(){
super.getInfo();
System.out.println("profTitle is "+profTitle);
}
}
public class TestTeacher{
public static void main(String[] args){
Person p1 = new Person("n1");
Person p2 = new Person("n2",19);
Teacher t1 = new Teacher("n3","professor");
Teacher t2 = new Teacher("n4",30,"professor");
p1.getInfo();
p2.getInfo();
t1.getInfo();
t2.getInfo();
}
}