过了N久终于到继承了....
如果子类的构造方法没有显式标注,则默认调用父类的无参构造方法;如果父类没有显式的无参构造方法,则编译失败。
(4)子类能自己选择父类的不同参数的构造方法。
(5)普通方法中不能调用父类的构造方法。
(6)super关键字代表父类的引用,可以调用父类的属性和方法。构造方法调用时this和super不能同时出现
一个super使用的有趣的例子:
public interface A{
default void show(){
System.out.println("我是默认方法");}
}
public class B implements A{
public void show(){
A.super.show(); //想要调用A中的方法的话用这种写法
System.out.println("重写默认方法");}
}
5、 继承的初始化顺序: 父类静态成员 --> 子类静态成员 --> 父类的构造方法 --> 子类的构造方法
6、访问修饰符:
访问修饰符 | 本类 | 同包 | 子类 | 其他 |
public | √ | √ | √ | √ |
protected | √ | √ | √ |
|
默认 | √ | √ |
|
|
private | √ |
|
|
|
7、 Java中所有类的父类都是Object,默认继承。
8、 子类最好不要和父类属性同名。