NO.13 父类没有空参构造的继承

2017-07-25  本文已影响0人  WXFA

当子类继承父类时,如果父类中只写有参的构造方法而没写空参的构造方法,子类就继承不了

解决方法1:在父类中添加一个空参的构造方法

解决方法2:在子类中的无参构造方法里添加this(赋值)语句,在子类的有参构造方法里添加

super(成员变量)语句,然后再main方法里创建对象,然后再调用getXxx方法就可以了

解决方法3:在子类中的无参构造方法里添加super(赋值)语句,在子类的有参构造方法里添加

super(成员变量)语句,然后在main方法里创建对象,然后再调用getXxx方法就可以了

解决方法4:在子类中不用写空参的构造方法,在有参的构造方法里添加super(成员变量),然后

在main方法里创建对象并赋值然后再调用getXxx方法

public static void main(String[] args) {

Son2 s2 = new Son2("张三",23);                    // 解决方法4   

System.out.println(s2.getName() + "...." + s2.getAge());

}

}

class Father2 {

private String name;

private int age;

/*public Father2() {

System.out.println("Father2  类的空参构造");

}*/

public Father2(String name,int age) {

this.name = name;

this.age = age;

System.out.println("Father2  类的有参构造");

}

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;

}

}

class Son2 extends Father2 {

/*public Son2() {

* this("王五", 25);          //子类无参构造this()语句访问,调用本类的构造方法,执行父类的有参构造

* super("李四",24);        //子类无参构造super()语句访问父类的有参构造,调用父类的构造方法

}*/

public Son2(String name,int age) {    //子类有参构造访问父类的有参构造

super(name,age);

}

}

上一篇 下一篇

猜你喜欢

热点阅读