Java 继承

继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。

继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。

            

继承:子类继承父类,父类也叫基类、超类;

  子类从父类继承过来所用的成员(成员属性、成员方法);

作用:

  1、类是对对象的抽象,继承是对某一批类的抽象,从而实现对显示世界更好的建模;

  2、通过继承可以简化类的定义,提高代码的复用性;

  3、父类修改了属性,子类自动的获得修改;

  语法:public class 子类名 extends 父类名;extands的意思是“扩展”。子类是父类的扩展

如果一个类没有表示继承哪个类,默认继承Object类;

如果子类里有和父类同名的成员变量;使用this和super来分别表示;

在每个普通的方法中,都包含两个隐式参数:this , super;

调用成员方法:

  1、子类里如果没有定义这个方法,就调用从父类继承过来的;

  2、子类如果重写了父类的方法,就调用子类重写过的;

  3、子类特用的方法;

子类继承父类的成员变量和成员方法,但构造方法不能继承:

在java中,一个类只能继承一个(直接)父类,不能有多继承,但可以多层继承(通过接口实现);

多继承:

  优点:子类同时拥有多个父类的属性和方法;

  缺点:当多个父类中用同名的属性或方法,子类引用时会产生歧义;

从代码的重用的角度来看,组合完全可以替代继承,组合比继承更加灵活;

继承条件下,代码块和构造方法的执行顺序:

  父类静态代码块 -> 子类静态代码块 -> 父类非静态代码块和构造方法 -> 子类非静态代码块和构造方法。

继承的语义:

  “is a”:是一种;子类是父类的一种;

例:Dog extends Animal : Dog是一种Animal类型的对象;

 

 

   

posted @ 2019-10-02 15:13  张泽  阅读(464)  评论(0编辑  收藏  举报