java继承——构造方法的访问特点

继承关系中,父子类构造方法的访问特点:

1.子类构造方法当中有一个默认隐含的“super( )”调用,所以一定是先调用父类构造,后执行的子类构造。

 

2.可以通过super关键字来使子类构造调用父类重载构造。

 

3.super得父类构造调用,必须是子类构造方法的第一个语句,不能一个子类构造调用多次super构造。

 

总结;

子类必须调用父类构造方法:不写则赠送super();写了则用写了的指定的super调用,super只能有一个,还必须是第一个。

package java继承05;

/**
 * @Author: Jason
 * @Date: 2019/7/20 17:44
 * @Version 1.0
 */
/*
继承关系中,父子类构造方法的访问特点:
1.子类构造方法当中有一个默认隐含的“super( )”调用,所以一定是先调用父类构造,后执行的子类构造。

2.可以通过super关键字来使子类构造调用父类重载构造。

3.super得父类构造调用,必须是子类构造方法的第一个语句,不能一个子类构造调用多次super构造。

总结;
子类必须调用父类构造方法:不写则赠送super();写了则用写了的指定的super调用,super只能有一个,还必须是第一个。
 */
public class DemoExtendsConstructor {
    public static void main(String[] args) {
        Zi zi = new Zi();

    }
}
package java继承05;

/**
 * @Author: Jason
 * @Date: 2019/7/20 17:44
 * @Version 1.0
 */
public class Fu {

    public Fu(){
        System.out.println("父类构造方法!");
    }
    public Fu(int num) {
        System.out.println("父类的重载构造方法!");
    }
}
package java继承05;

/**
 * @Author: Jason
 * @Date: 2019/7/20 17:45
 * @Version 1.0
 */
public class Zi extends Fu {
    public Zi(){
       // super();   //默认隐含赠送的 不写也行  这是在调用父类无参构造方法!
        super(10); //调用父类重载的构造方法!

        //super();和super(10);  只能调用其中一个 也是第一个
        System.out.println("子类构造方法!");
    }
    public void method(){
//        super();  //错误  只有子类构造方法,才能调用父类构造方法!
    }

}

java继承——构造方法的访问特点_第1张图片

你可能感兴趣的:(java,se学习,编程学习技术)