MENU

Java-24 继承性

September 11, 2023 • Read: 72 • Java阅读设置

面向对象编程

面向对象编程三大特征之一:继承性

1 什么是继承性

继承性本质上是类的所有成员的复用。
假设有A类和B类。若定义B类在具有A类所有成员的基础上,又具有自己所特有的其他成员。
那么B类就可以继承A类,在此基础上只需再定义自己所特有的其他成员,就能实现上述目标。
换句话说,B类继承A类,本质上就是B类复用了A类的所有成员,即B类通过继承就可拥有A类所有成员。

2 继承性的好处

1) 减少代码冗余,提高代码复用性;
2)便于扩展,主要体现在若多个子类继承同一个父类,若要同时扩展该父类的这多个子类的功能,可直接在它们的父类中扩展;
3)为之后的多态性的使用,提供了前提。

3 继承性的格式

1) 继承性的格式:class B extends A{}
2)格式说明:

  • A:父类/超类/基类,superclass;
  • B:子类/派生类,subclass;
  • B继承了A,体现在B就具有了A的所有成员,主要是:属性和方法。

4 继承性中的封装性说明

封装性的本质是对数据使用的限制。

封装性中需要注意的一点是:拥有不代表能够使用。
想要使用private的属性或方法,只能通过对应的能使用的方法来间接使用。

假定B类继承A类,若A类中a属性的权限修饰符为private,B类仍然是拥有该属性的,只不过无法直接使用。
实际上,A类本身的对象也无法直接使用该属性。
这就体现了封装性的这一点,拥有不代表能够使用。

5 关于继承性的规定

1)一个类可以被多个子类继承;
2)一个类只能显式继承一个类,这就是Java中的单继承性
3)可以多层继承,即一个类的父类可以继承其父类...,换句话说,一个类有多个父类,但只有一个直接父类;
4)类会具有其父类的所有属性和方法:一个类有多个父类,意味着该类具有所有父类的属性和方法;
5)所有类都有一个共同的父类Object类(java.lang.Object),即所有没有显式继承父类的类,其继承着Object类(java.lang.Object)。也就是说,所有类都具有Object类的属性和方法。
2023-09-11T13:25:17.png