Java基础·继承

697 阅读3分钟

相关推荐

Java基础知识·封装

Java基础知识·类和对象

继承

9.1 继承的概念和实现

1.继承的概念:

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

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

2.生活中的继承:

兔子和羊属于食草动物类,狮子和豹属于食肉动物类。

食草动物和食肉动物又属于动物类,所以继承需要符合的关系是:is-a,父类更通用,子类更具体。

虽然食草动物和食肉动物都是属于动物,但是两者的属性和行为上有差别,所以子类会具有父类的一般特性也会具有自身的特性。

3.继承的特点:

当从已存在类继承时,就重用了它的方法和字段,还可以添加新的方法和字段来定制新类以应对需求。

在Java种,除了Object类之外,所有类都是子类,都有唯一的父类,所以创建一个类时总是在继承。

继承背后的思想就是基于已存在的类来构建新类。

4.继承的优点:

(1)继承简化了人们对事物的认识和描述,能清晰体现相关类间的层次结构关系。

(2)继承提供了软件复用功能。

(3)增加了程序的易维护性。

(4)提供多重继承机制。

9.2 继承关键字

继承可以使用extends和implements这两个关键字来实现继承,而且所有的类都是继承于java.lang.Object,当一个类没有继承的两个关键字,则默认继承object(这个类在java.lang包中,所以不需要import)祖先类。

1.implements关键字

使用implements关键字可以变相的使Java具有多继承的特性,使用范围为类继承接口的情况,可以同时继承多个接口(接口跟接口之间采用逗号分隔)。

2.extends关键字

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

3.super关键字

super关键字特点:

(1)super和this关键字的特点类似,super代表的是父类对象的引用。

(2)当子父类的成员出现同名时,可以通过super来进行区分。

(3)子类的构造方法中,通过super关键字调用父类的构造方法。

案列

9.3 方法重写

方法重写是指子类可以根据需要对从父类继承来的方法进行改写,是多态机制的前奏。

1.方法重写规则:

(1)重写方法必须和被重写方法具有相同的方法名称、参数列表和返回值。

(2)重写方法不能使用比被重写方法更严格的访问权限。

(3)父类中的私有方法不能被重写。

(4)在子类重写的方法中继续调用父类被重写的方法可以通过调用super.函数名获取。

2.案例:

9.4 final关键字

由于继承中有一个方法重写的现象,而有时候我们不想让子类去重写父类的方法.面对这种情况Java给我们提供了这个关键字,它可以修饰类,变量,成员方法。

final可以用来修饰变量、方法、类。

final修饰的变量:是一个常量,一旦赋了值就不能再修改(常量一般都和static关键字配合使用)。

final修饰类:代表此类不能被继承。

final修饰方法:代表此方法不能被重写。

小结

通过本次的分享,我们了解了继承的概念和实现,掌握了三个继承的关键字特点及使用以及一个被其修饰后不被继承的final关键字。同时,我们还掌握了方法重写(Override)的规则。