什么是继承

           继承是java中实现代码重用的重要手段之一。java中只支持单根继承,也就是一个类只能有一个直接父类。

如何使用继承

 1.编写父类:

[访问修饰符] class Father { 
    //公共的属性和方法
}

  2.编写子类,继承父类          

[访问修饰符] class Dog extends Father { 
    //子类特有的属性和方法
}

子类访问父类成员  

1)使用super关键字,super代表父类对象 

2)在子类构造方法中调用且必须是第一句 

3)不可以访问父类中定义为private的属性和方法

访问父类构造方法

super();    

super(name);

访问父类属性

super.name;

访问父类方法

super.print();

小结:

  1.super关键字来访问父类的成员

  2.super只能出现在子类的方法和构造方法中

  3.super调用构造方法时,只能是第一句

  4.super不能访问父类的private成员

继承条件下的构造方法:

  继承条件下构造方法的调用规则

    子类构造方法没有通过super显式调用父类的有参构造方法,也没通过this显式调用自身其他构造方法

系统默认调用父类的无参构造方法

     子类构造方法通过super显式调用父类的有参构造方法 执行父类相应构造方法,而不执行父类无参构造方法

    子类构造方法通过this显式调用自身的其他构造方法,在相应构造方法中应用以上两条规则

    子类继承父类的什么?

     继承public和protected修饰的属性和方法,不管子类和父类是否在同一个包里 继承默认权限修饰符修饰的属性和方法,但子类和父类必须在同一个包里。子类不能继承父类的全部成员,列如:private成员,子类父类不同包,使用默认访问权限的成员,构造方法。(访问修饰符protected 可以修饰属性和方法 本类、同包、子类可以访问),继承是代码重用的一中方式(将子类共有的属性和行为放到父类中)。