浅谈Java继承
本篇是对 Java 中继承的说明和讨论。
继承是面向对象编程的关键特性之一,继承提供了允许一个类继承另一个类的属性的机制。
当一个类扩展另一个类时,它继承了所有非私有成员,包括字段和方法。在 Java 语言中,可以用父和子的关系(也称为超类和子类)最好地理解 Java 中的继承。
继承定义了父类和它的子类之间的关系。其中 extends 和 implements 关键字用于描述 Java 中的继承。
下面来看看如何使用 extends 关键字来实现继承。
基于上面的例子,在面向对象编程语言中,可以解说成 Vehicle 是父类,Car 是子类,用生活中的说法就是,汽车属于交通工具中的一种。
继承的目的
1. 它提升了代码的可重用性,即在父类中定义的方法和变量可以在子类中使用。
2. 它可以通过方法重写来体验多态性。
继承的缺点
使用继承的主要缺点是两个类(父类和子类)紧密耦合。这意味着如果我们更改父类的代码,它将影响继承父类的所有子类,因此,它不能彼此独立。
示例
另外的一个例子
继承的类型
1. 单一继承
2. 多级继承
3. 层级继承
注:Java 中不支持多继承。
为什么 Java 中不支持多继承
1. 消除歧义。
2. 提供更加可维护和清晰的设计。
super 关键字
在 Java 中,super 关键字用于指代子类的直接父类。换句话说,如果需要引用其直接超类,子类就会使用 super 关键字。
一个 Child 类的示例,属性使用 super 关键字引用其父类。
一个 Child 类的示例,方法使用 super 关键字引用其父类。
一个 Child 类的示例,构造方法使用 super 关键字引用其父类。
注意
使用 super 关键字从子类调用父类构造函数时,super 关键字应始终是子类的方法/构造函数中的第一行。
指向子类对象的父类引用,其中 B 继承了 A,这是合法的。
问:能够同时在构造方法中使用 super() 和 this() 吗?
答:不能,因为 super() 和 this() 都必须在构造方法中的第一行,所以不能同时使用。
这里是
时光机
【软件·考研】2019考研成绩即将公布,你准备好了吗?
【软件·新年特辑】让我们用照片,重温久违的年味儿
【软件·新年特辑】这是一篇充满味道的推送,快来晒晒你的年味吧!
【软件·新年特辑】把“年”安排的明明白白!
定期更新 欢迎投稿
来源 dotzhang(已授权)
编辑 徐辰晨
审核 于雅洁
联系方式
微信:沈阳工业大学软件学院
-
❤
-
关注微信长按右边!
明明说好关注我的~
-
❤
-