在Java中,多態是通過繼承、接口和方法重寫實現的。多態允許我們使用一個共同的接口表示不同類型的對象,從而在運行時根據對象的實際類型調用相應的方法。以下是Java類處理多態的一些關鍵概念:
class Animal {
public void makeSound() {
System.out.println("The animal makes a sound");
}
}
class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("The dog barks");
}
}
class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("The cat meows");
}
}
interface Flyable {
void fly();
}
class Bird implements Flyable {
@Override
public void fly() {
System.out.println("The bird is flying");
}
}
class Animal {
public void makeSound() {
System.out.println("The animal makes a sound");
}
}
class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("The dog barks");
}
}
public class Main {
public static void main(String[] args) {
Animal myAnimal = new Dog(); // 使用父類引用指向子類對象
myAnimal.makeSound(); // 調用子類的重寫方法,輸出 "The dog barks"
Flyable myFlyable = new Bird(); // 使用接口引用指向實現類對象
myFlyable.fly(); // 調用實現類的方法,輸出 "The bird is flying"
}
}
總之,Java中的多態允許我們使用一個共同的接口表示不同類型的對象,并在運行時根據對象的實際類型調用相應的方法。這使得我們可以編寫更加靈活和可擴展的代碼。