1. 方法覆写实现多态:
class Animal {
void makeSound() {
System.out.println("Some generic sound");
}
}
class Dog extends Animal {
// 子类覆写了父类的方法
void makeSound() {
System.out.println("Bark bark!");
}
}
class Cat extends Animal {
// 另一个子类覆写了父类的方法
void makeSound() {
System.out.println("Meow meow!");
}
}
public class PolymorphismExample {
public static void main(String[] args) {
// 使用多态性,父类引用指向子类对象
Animal myAnimal = new Dog();
// 调用的是实际对象的方法
myAnimal.makeSound();
// 通过多态性,可以轻松切换不同的实现
myAnimal = new Cat();
myAnimal.makeSound();
}
}
2. 接口实现多态:
interface Shape {
void draw();
}
class Circle implements Shape {
public void draw() {
System.out.println("Drawing a circle");
}
}
class Rectangle implements Shape {
public void draw() {
System.out.println("Drawing a rectangle");
}
}
public class InterfacePolymorphismExample {
public static void main(String[] args) {
// 使用多态性,接口引用指向实现类对象
Shape myShape = new Circle();
myShape.draw();
// 通过多态性,可以轻松切换不同的实现
myShape = new Rectangle();
myShape.draw();
}
}
在上述示例中,多态性通过父类引用指向子类对象(方法覆写)或接口引用指向实现类对象(接口实现)来实现。这使得代码更加灵活,能够适应不同的实现。
总体而言,多态性是面向对象编程中非常强大的概念,它使得代码更加灵活、可维护和可扩展。
转载请注明出处:http://www.zyzy.cn/article/detail/13482/Java