首先:在继承中,子类不能继承父类的构造器,子类只能调用父类的构造器
分如下四种情况讨论,并在代码中一一验证。
(1)父类没有构造器
父类代码:
public class Annamal {
public String run;
public String eat;
public void getRun() {
System.out.println(" Annamal is run!");
}
public void setRun(String run) {
this.run = run;
}
public void getEat() {
System.out.println(" Annamal is eat!");
}
public void setEat(String eat) {
this.eat = eat;
}
}
子类代码:
public class Dog extends Annamal{
private String name;
private String sex;
public Dog(){ //无参构造
System.out.println("--无参构造--Dog--");
}
public Dog(String name,String sex){ //有参构造
System.out.println("--有参构造--Dog--"+name);
this.name = name;
this.sex = sex;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
演示代码:
public class TestDemo {
public static void main(String[] args){
Dog d1 = new Dog();
Dog d2 = new Dog("小黑","Man");
System.out.println(d2.getName());