Java 类继承:实现代码重用和多态性的指南316


在 Java 中,继承是一种强大的特性,它允许类继承另一个类的属性和方法,又称父类或超类。通过继承,可以创建类层次结构,从而实现代码重用和多态性。

子类的语法

要创建子类,可以使用以下语法:```java
public class Subclass extends Superclass {
// 子类代码
}
```

其中,Subclass 是希望创建的子类,而 Superclass 是要继承的父类。

属性和方法继承

子类继承了父类的所有非私有属性和方法。这意味着子类可以访问和使用父类的:* 非私有属性: 受保护(protected)、缺省的(无访问修饰符)或公共(public)
* 非私有方法: 受保护、缺省或公共

子类无法访问父类的私有属性和方法。

方法覆盖

子类可以覆盖父类的方法,即用新实现替换父类方法。要覆盖方法,子类必须:* 使用与父类方法相同的名称和签名
* 具有相同的访问修饰符或更宽的访问修饰符(例如,如果父类方法是受保护的,则子类方法可以是公共的)

多态性

多态性允许将父类引用重新分配给子类对象。这意味着父类变量可以引用其子类对象的实例,并调用适当的方法。这使代码能够处理不同类型的对象,而无需显式检查它们的类型。

例如,如果有一个 Animal 超类和一个 Cat 子类,则以下代码将调用子类的方法:```java
Animal animal = new Cat();
(); // 调用 ()
```

具体实现

以下 Java 代码展示了继承的概念:```java
// 超类 Animal
public class Animal {
protected String name;
public Animal(String name) {
= name;
}
public String getName() {
return name;
}
}
// 子类 Cat
public class Cat extends Animal {
public Cat(String name) {
super(name); // 调用父类构造器
}
@Override
public void makeSound() {
("喵喵");
}
}
// 测试类
public class Main {
public static void main(String[] args) {
Animal animal = new Cat("Kitty");
(()); // 打印 "Kitty"
(); // 调用 ()
}
}
```

在上面的代码中,Animal 是超类,定义了名称属性和获取名称的方法。Cat 是子类,继承了 Animal 的属性和方法,并增加了 makeSound() 方法来指定猫发出的声音。

Java 中的继承是一种强大的机制,它可以通过重用代码和实现多态性来提高应用程序的效率和可维护性。通过了解继承的语法、属性和方法继承、方法覆盖以及多态性的概念,可以利用这一特性来创建可扩展且灵活的软件应用程序。

2024-11-18


上一篇:Java 中获取字符串中字符位置

下一篇:Java 字符串替换指定位置字符