美文网首页
NO.13 父类没有空参构造的继承

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

作者: WXFA | 来源:发表于2017-07-25 00:02 被阅读0次

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

    解决方法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);

    }

    }

    相关文章

      网友评论

          本文标题:NO.13 父类没有空参构造的继承

          本文链接:https://www.haomeiwen.com/subject/khbikxtx.html