Java高级学习之1:继承

继承的概念:继承就是子类继承父类的特征和行为;但是两者的属性和行为上有差别,所以子类会具有父类的一般特性也会具有自身的特性。


如父类为:动物;                                               子类为:食草动物;子类的子类:牛



类的继承格式:extends

class 父类 {

}

 class 子类 extends 父类 {

}


为什么需要继承?

若不用继承,定义相似的类的时候代码臃肿且量大,可维护性差。

因此需要我们从相似的类中取出相同的部分组成一个父类。使代码更加简洁,提高可维护性和复用性。


继承类型

java不支持多继承,但支持多重继承。(子类只能有一个父类)

Java高级学习之1:继承_第1张图片

继承的特性

子类拥有父类非 private 的属性、方法。

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

子类可以用自己的方式实现父类的方法。(就是重写方法,详情见:java高级学习之2:重写与重载

Java 的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如 A 类继承 B 类,B 类继承 C 类,所以按照关系就是 C 类是 B 类的父类,B 类是 A 类的父类,这是 Java 继承区别于 C++ 继承的一个特性。

提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系越紧密,代码独立性越差)。


继承关键字

继承可以使用 extends implements 这两个关键字来实现继承。

extends 关键字:用于继承类

一个子类只能拥有一个父类,所以 extends 只能继承一个类

implements 关键字:用于继承接口

使用范围为类继承接口的情况,可以同时继承多个接口(接口跟接口之间采用逗号分隔)。

(更多关于接口的知识详见:java高级学习之6:接口


super 与 this 关键字

super关键字:我们可以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类。(super . 方法、super . 变量、等等)

this关键字:指向自己的引用。(this . 方法 、this . 变量、等等)

final关键字:声明的类不能被继承

final 关键字声明可以把类定义为不能继承的,即最终类;或者用于修饰方法,该方法不能被子类重写。(更多有关final关键字的知识,详见:java学习之13:修饰符


构造器

创建类的时候使用子类的构造方法之后会自动调用父类的构造方法。注意参数要一致。

Java高级学习之1:继承_第2张图片
调用子类构造方法的时候,之后会调用父类相同参数的构造方法

本章学习到此结束,若想了解其他java知识,欢迎访问java学习之1:总纲。

你可能感兴趣的:(Java高级学习之1:继承)