在 Java 中通过 extends 关键字可以声明一个类是从另外一个类继承而来的,一般形式如下:
class 父类 {
}
class 子类 extends 父类 {
}
(1)继承的特点:
(A)java中继承只允许单继承,
(B)Java支持多层继承,如C继承B,而B继承A
如果要看某个类的所有功能则查看最底层的类,如果要查看共性则去查看最高层的类
(2)继承注意事项:
(A)子类只能继承父类所有的非私有成员(成员方法和成员变量)
(B)子类不能直接继承父类的构造方法,但是可以通过super关键字去访问父类的构造方法
(C)不要为了部分功能去继承,不利于代码解耦
(D)若子类中有和父类同名的方法,则会优先使用子类中的成员方法或者成员变量(就近原则,若子类中没有,则往上一级找),此处不考虑多态,后续会文章会说明
(E)子类中所有的构造方法都会默认访问父类的构造方法,其实每一个空参构造方法都会先执行super(),如果一个类没有继承任何类,那么super指向的是Object类;如下
class Father
{
public Father(){
System.out.println("Father...");
}
}
class Son extends Father
{
public void testExtends(){
super();//如果不写,默认会加上,用于访问父类中的空参构造
System.out.println("son...");
}
}