Java继承机制详解:构建面向对象程序的基石
Java中的继承机制允许一个对象继承父对象的全部属性和行为,是面向对象编程 (OOPs) 的核心概念。 通过继承,我们可以创建基于现有类的全新类,复用父类的方法和字段,并在此基础上添加新的方法和字段。
什么是继承?
Java继承机制允许一个类(子类或派生类)继承另一个类(超类或父类)的属性和方法。 子类可以访问超类的成员(字段和方法),强制执行复用规则,并促进类的层次结构。 继承体现了“IS-A”关系,也称为父子关系。
为什么要使用Java继承?
继承相关的术语
Java继承的语法
<code class="language-java">class 子类名称 extends 超类名称 { // 方法和字段 }</code>
extends
关键字表示创建一个从现有类派生的新类。 “extends” 的含义是扩展功能。 在Java术语中,被继承的类称为父类或超类,新类称为子类或子类。
上图显示,Programmer
是子类,Employee
是超类。两者之间的关系是 Programmer IS-A Employee
,表示程序员是一种员工。
示例:Programmer.java
<code class="language-java">class Employee { float salary = 40000; } class Programmer extends Employee { int bonus = 10000; public static void main(String args[]) { Programmer p = new Programmer(); System.out.println("程序员薪资:" + p.salary); System.out.println("程序员奖金:" + p.bonus); } }</code>
Java继承的类型
根据类的继承关系,Java继承主要分为三种类型:单继承、多层继承和层次继承。
注意:Java不支持通过类实现多继承。
当一个类继承多个类时,称为多继承。例如:Java中的多继承
单继承示例
当一个类继承另一个类时,称为单继承。在下面的示例中,Dog
类继承了 Animal
类,因此是单继承。
Test遗产.java
<code class="language-java">class Animal { void eat() { System.out.println("正在吃..."); } } class Dog extends Animal { void bark() { System.out.println("汪汪..."); } } class Test遗产 { public static void main(String args[]) { Dog d = new Dog(); d.bark(); d.eat(); } }</code>
多层继承示例
当存在继承链时,称为多层继承。在下面的示例中,BabyDog
类继承了 Dog
类,而 Dog
类又继承了 Animal
类,因此是多层继承。
Test遗产2.java
<code class="language-java">class 子类名称 extends 超类名称 { // 方法和字段 }</code>
层次继承示例
当两个或多个类继承单个类时,称为层次继承。在下面的示例中,Dog
和 Cat
类都继承了 Animal
类,因此是层次继承。
Test遗产3.java
<code class="language-java">class Employee { float salary = 40000; } class Programmer extends Employee { int bonus = 10000; public static void main(String args[]) { Programmer p = new Programmer(); System.out.println("程序员薪资:" + p.salary); System.out.println("程序员奖金:" + p.bonus); } }</code>
为什么Java不支持多继承?(待补充)
为了降低复杂度并简化语言,Java 不支持通过类实现多继承。
方法重写与方法重载
final
关键字的作用
final
关键字用于防止方法重写和类扩展:
final
字段:不能重新赋值。final
方法:不能被重写。final
类:不能被继承。参考链接:https://www.php.cn/link/9b4192ee086949047cfc64d86d895c2e
以上是遗产的详细内容。更多信息请关注PHP中文网其他相关文章!