多态是面向对象编程中的一个重要概念,它可以通过以下几种方式来实现:
1. 继承(Inheritance):通过继承关系,子类可以继承父类的属性和方法,并且可以对父类的方法进行重写(覆盖)。通过父类引用指向子类对象,可以实现多态。例如:
class Animal {
public void makeSound() {
System.out.println("Animal makes sound");
}
}
class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("Dog barks");
}
}
class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("Cat meows");
}
}
public class PolymorphismExample {
public static void main(String[] args) {
Animal animal1 = new Dog();
Animal animal2 = new Cat();
animal1.makeSound(); // 输出 "Dog barks"
animal2.makeSound(); // 输出 "Cat meows"
}
}
2. 接口(Interface):通过接口定义一组方法的规范,具体的类实现接口并实现接口中的方法。通过接口的引用指向实现类的对象,可以实现多态。例如:
interface Shape {
void draw();
}
class Circle implements Shape {
@Override
public void