目录
一、继承
1.1 为什么需要继承
1.2 继承的概念
1.3 继承的语法
1.4 访问父类的成员
1.4.1 在子类方法中访问父类的成员
【Ⅰ】子类的非静态方法中:
【①】访问父类非静态的成员变量/方法:
用super访问即可。
【②】访问父类的静态的成员变量/方法:
用父类访问即可(父类访问前缀也可以不写)。
【Ⅱ】子类的静态方法中:
【①】访问父类非静态的成员变量/方法:
先在静态方法中实例化子类对象,然后用对象的引用去访问(如果出现子类和父类的非静态成员变量/方法有同名的情况,对于同名的非静态成员方法来说编译器会根据调用方法的参数或是否在子类中发生了重写来判断到底调用哪个非静态的成员方法;对于同名的非静态成员变量来说,一般情况下我们不会傻到这么写🤬)。
【②】访问父类的静态的成员变量/方法:
用父类访问即可(父类访问前缀也可以不写)。
1.4.2 在子类外的方法中访问父类的成员
【Ⅰ】首先实例化子类对象
【Ⅱ】其次需要通过父类中成员变量/方法前面的访问限定符判断当前所在的位置是否能够调用想要调用的父类成员变量/方法,如果可以,非静态的成员变量/方法用对象的引用去访问即可(当子类和父类有同名的非静态成员变量/方法时,对于同名的非静态成员方法来说编译器会根据调用方法的参数或是否在子类中发生了重写来判断到底调用哪个非静态的成员方法;对于同名的非静态成员变量来说,一般情况下我们不会傻到这么写🤬),静态的成员变量/方法用父类访问即可(这里的访问前缀不能省略)。
1.5 super关键字
1.6 子类和父类的构造方法
1.7 super 和 this异同点(待改进)
1.8 再谈初始化顺序
1.9 protected关键字
1.10 继承的方式
1.11 final关键字
二、组合