Java中的多態不能直接實現多繼承。在Java中,一個類只能繼承一個父類(單繼承),但是可以通過接口實現多重繼承。多態是指允許一個對象具有多種形態,通過繼承和接口可以實現多態。
例如,假設我們有一個父類Animal
和兩個子類Dog
和Cat
,它們都繼承了Animal
類。同時,我們還有一個接口Swim
,它有一個方法swim()
。我們可以讓Dog
和Cat
類實現Swim
接口。這樣,Dog
和Cat
類就具有了多態性,因為它們都可以被看作是Animal
類型,同時還可以具有Swim
接口的特性。
// 父類
class Animal {
public void makeSound() {
System.out.println("The animal makes a sound");
}
}
// 子類1
class Dog extends Animal implements Swim {
@Override
public void makeSound() {
System.out.println("The dog barks");
}
@Override
public void swim() {
System.out.println("The dog swims");
}
}
// 子類2
class Cat extends Animal implements Swim {
@Override
public void makeSound() {
System.out.println("The cat meows");
}
@Override
public void swim() {
System.out.println("The cat swims");
}
}
public class Main {
public static void main(String[] args) {
Animal myAnimal = new Dog();
myAnimal.makeSound(); // 輸出 "The dog barks"
((Dog) myAnimal).swim(); // 輸出 "The dog swims"
myAnimal = new Cat();
myAnimal.makeSound(); // 輸出 "The cat meows"
((Cat) myAnimal).swim(); // 輸出 "The cat swims"
}
}
在這個例子中,Dog
和Cat
類繼承了Animal
類并實現了Swim
接口,實現了多態性。但請注意,這并不是真正的多繼承,因為Java不支持一個類繼承多個父類。