面向对象编程:Java多态性现象演示
在Java中,多态性是面向对象的三大特性之一。它允许同一个接口对不同的对象有不同的实现方式。
以下是一个简单的示例:
// 定义一个父类Animal
public class Animal {
// 定义抽象方法makeSound()
public abstract void makeSound();
}
// 定义两个子类,Dolphin和Dog
public class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("Woof!");
}
}
public class Dolphin extends Animal {
@Override
public void makeSound() {
System.out.println("Peep!");
}
}
// 主函数,测试多态性
public class Main {
public static void main(String[] args) {
Animal animal1 = new Dog(); // 创建一个Dog对象,并赋值给Animal类型的变量animal1
Animal animal2 = new Dolphin(); // 同样创建一个Dolphin对象并赋值
animal1.makeSound(); // 调用makeSound方法,由父类引用,执行子类的实现
animal2.makeSound(); // 类似,但因为是父类引用,所以执行的是Dog的makeSound()
}
}
在这个例子中,Animal
是父类,Dog
和Dolphin
是它的两个子类。在主函数中,我们创建了这两个子类的对象,并将它们赋值给父类类型的变量。然后调用makeSound()
方法时,多态性就体现在这里:根据父类引用的实际对象类型(Dog或Dolphin),执行相应的实现。
还没有评论,来说两句吧...