如何在Java中实现类似功能?
时间: 2024-09-18 12:02:42 浏览: 16
在Java中,实现多态通常通过以下几种方式:
1. **继承(Inheritance)**: 使用`extends`关键字创建一个子类并从父类继承方法。子类可以覆盖或添加新的方法。例如:
```java
class Animal { void sound() { System.out.println("Animal makes a sound"); } }
class Dog extends Animal { void sound() { System.out.println("Dog barks"); } }
```
这里,`Dog`类实现了`Animal`类的`sound()`方法。
2. **方法重写(Method Overriding)**: 子类提供与父类同名但不同实现的方法。当使用父类引用调用方法时,实际运行的是子类的方法。
```java
public class Vehicle {
void start() { System.out.println("Vehicle starts."); }
}
class Car extends Vehicle {
@Override
void start() { System.out.println("Car engine starts."); }
}
```
3. **接口(Interface)**: 使用接口定义一组方法,类实现这些接口时必须提供方法实现。这叫做接口多态(interface polymorphism)。
```java
interface SoundProducer {
void makeSound();
}
class Musician implements SoundProducer {
public void makeSound() {
System.out.println("Musician plays an instrument.");
}
}
```
4. **泛型(Generics)**: Java泛型使得方法和类可以处理多种类型的对象,提高代码的复用性和灵活性。