5.2 继承

概念

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

特性:1.子类拥有父类非private的属性和方法。

           2.子类可以拥有自己属性和方法,即子类可以对父类进行扩展。

           3.子类可以用自己的方式实现父类的方法。

好处:复用、易维护

缺陷:1.父类变,子类就必须变

           2.继承破坏了封装,对于父类而言,它的实现细节对与子类来说都是透明的。

           3.继承是一种强耦合关系。


构造方法

子类不能继承父类的构造器,但能通过super调用 (子类创建都会走父类的构造器,要么显示调用,要么系统自动调用)

1.如果父类有无参构造,若未使用super关键字,系统会自动调用父类的无参构造

2.如果父类只有带参构造,则必须在子类构造器中用过super显示调用与之匹配参数列表的父类构造方法 (super必须在第一句)

  (若一个类存在有参构造,系统不再提供默认无参构造,只能显示写个无参构造)


关键字

extends:在 Java 中,类的继承是单一继承,也就是说,一个子类只能拥有一个父类,所以 extends 只能继承一个类。

super:super关键字用来实现对父类成员的访问,用来引用当前对象的父类。

this:指向自己的引用。

final:  声明类 —— 类不能被继承 (且该类的方法自动声明为final)

            声明方法 —— 方法不能被重写

            声明变量 —— 变量不能被修改(如果是引用类型,则指地址不能变,指向的内容可变)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容