继承是 Java 中面向对象编程(OOP)的核心概念之一。继承允许一个类(子类)继承另一个类(父类)的数据成员和属性。通过继承,子类可以重用父类的方法和数据成员,从而提高代码的复用性和可维护性。
继承基本组件
-
基类(父类):
- 基类提供了数据成员和方法。任何需要方法或数据成员的基类都必须从其父类或基类中借用这些成员。
-
子类(子类):
- 子类也称为子类。子类通过实现其父类的方法和数据成员来创建一个新的类。
-
关键字
extends:- 子类必须包含关键字
extends来继承父类。extends关键字使编译器理解子类是从父类派生的,从而继承父类的功能和成员。
- 子类必须包含关键字
继承语法
class SubClass extends ParentClass {
// Data Members
// Methods
}
继承示例
假设三星公司想要制造一款新的洗衣机,并希望在电机中包含一个激活轻柔洗涤功能的方法。我们可以通过继承将这个方法引入到最新款的洗衣机中。
// Inheritance Example
package inheritance;
class Machine {
protected String brand = "Samsung";
public void wash() {
System.out.println("Initiating Gentle-Wash Task");
}
}
public class WashingMachine extends Machine {
private String modelName = "Top Load Washing Machine";
public static void main(String[] args) {
WashingMachine washmachine = new WashingMachine();
washmachine.wash();
System.out.println(washmachine.brand + " - " + washmachine.modelName);
}
}
为什么需要继承?
-
运行时多态:
- 运行时多态(也称为动态多态)是指在运行时方法调用会覆盖不同的方法。这使得子类可以重写父类的方法,实现多态性。
-
代码复用:
- 继承允许子类重用父类中定义的方法和数据成员,从而避免重复编写相同的代码,节省时间和精力。
访问修饰符
访问修饰符决定了父类的可用性。在实际编码中,我们不能让子类访问所有其他类。访问修饰符有四种:
-
默认(Default):
- 默认访问修饰符是当用户没有为类指定任何特定访问修饰符时的默认选项。默认访问修饰符类似于
public访问修饰符,但父类只能在当前使用的 Java 项目的包内访问,不能在包外访问。
package Simplilearn; class Parent { void msg() { System.out.println("Hello World"); } } package Simpli; import Simplilearn.*; class Child { public static void main(String args[]) { Parent P = new Parent(); // Compile Time Error P.msg(); // Compile Time Error } } - 默认访问修饰符是当用户没有为类指定任何特定访问修饰符时的默认选项。默认访问修饰符类似于
-
公共(Public):
- 公共访问修饰符用于当用户希望所有子类都能从任何地方(包括其他包)访问父类时。
// Public package inheritance; public class Summation { public int add(int x, int y) { return x + y; } } package inheritance2; import inheritance.*; public class Child { public static void main(String args[]) { Summation A = new Summation(); System.out.println(A.add(100, 200)); } } -
受保护(Protected):
- 受保护访问修饰符允许子类访问父类的成员。如果需要从不同类访问受保护的数据成员和方法,只能通过访问受保护类的子类来实现。
// Protected package inheritance; public class Parent { protected void Print() { System.out.println("Hello World"); } } package inheritance2; import inheritance.*; public class Child extends Parent { public static void main(String args[]) { Child x = new Child(); x.Print(); } } -
私有(Private):
- 私有访问修饰符对访问私有数据成员和方法有严格的限制。私有访问修饰符只允许在类内部访问,不允许在类外部访问。
// Private // Without Getter and Setter // This program will have Compile-time error package inheritance; class

最低0.47元/天 解锁文章
1871

被折叠的 条评论
为什么被折叠?



