首页 > 技术文章 > 类的继承2

huasheng2020 2020-10-16 19:57 原文

继承中成员的访问特点:
成员变量:
    就近原则:使用变量的语句 首先不能脱离方法而存在;
        在方法中使用变量,首先在局部范围内查找,如果局部没有就会找成员,成员没有就会找父类;
    继承只能继承公开的变量,private修饰的变量无法继承。
构造方法:
    方法的访问特点:子类在使用子类自己的构造方法创建对象之前,必须先访问父类的构造方法,构造方法必须是第一条语句;
    为什么必须先访问父类的构造方法呢:
        因为子类在创建对象的过程中,有可能会使用到父类的内容,所以一定要先对父类进行初始化,然后再对子类进行初始化;
    注意点:所有子类的构造方法的第一行默认有一行super(),这是在访问父类的构造方法,你不写出super(),默认也有系统提供的,你看不到而已;
    1. 假如一个类不写任何的构造方法,系统会提供一个默认的无参构造,如果你提供了任意的构造方法之后,系统不再提供默认的无参构造方法。
    2. 当我们显式提供super(), super(int a),this()这样的super构造方法,那么就不会有默认的super();
    3. 构造方法必须是第一条语句;
    4. 假如父类只提供了有参构造方法,那么
        a. 子类在第一行必须访问父类的有参构造方法
        b. 或者子类的其他的方法可以访问到父类有参构造方法的方法;
    5. 子类在创建对象之前,必须初始化父类,但是父类必须被初始化一次!不能反复创建;
成员方法:
    访问特点:
    子类对象已创建,就可以访问父类的非私有方法。
    成员方法的访问依然遵循就近原则,先从局部范围内查找方法,查找不到就要去父类查找。
假如子类的方法和父类的方法名称一样,称之为重写。

推荐阅读