理解不了Java中的多态?试试这个实例

原创 妖狐艹你老母 2024-12-12 22:48 44阅读 0赞

多态是面向对象编程的一个重要特性,它允许不同类型的对象对同一方法做出不同的响应。

下面是一个简单的例子,我们将创建一个抽象类Animal和两个派生类:Dog和Cat。然后我们会定义一个方法makeSound,在这个方法中我们使用多态来处理不同类型的动物发出的声音。

  1. // 定义抽象类Animal
  2. abstract class Animal {
  3. // 定义一个方法,让所有动物都可以发出声音
  4. public abstract void makeSound();
  5. }
  6. // 创建两个派生类:Dog和Cat
  7. class Dog extends Animal {
  8. @Override
  9. void makeSound() {
  10. System.out.println("Woof!");
  11. }
  12. }
  13. class Cat extends Animal {
  14. @Override
  15. void makeSound() {
  16. System.out.println("Meow!");
  17. }
  18. }
  19. public class Main {
  20. public static void main(String[] args) {
  21. // 创建Dog和Cat对象
  22. Dog dog = new Dog();
  23. Cat cat = new Cat();
  24. // 通过多态调用它们的makeSound方法
  25. dog.makeSound(); // 输出:Woof!
  26. cat.makeSound(); // 输出:Meow!
  27. }
  28. }

在这个例子中,DogCat两个派生类对抽象基类Animal中的makeSound方法进行了重写。在main方法中,通过将dogcat赋值给Animal类型的引用,实现了多态调用它们的makeSound方法。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,44人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java关于理解

    Java中多态的理解 JAVA中的多态可以简单的理解为一种事物的多种形态,当然多态是在继承的基础上有重写才存在。(因为这篇文章是转载过来的,大部分地方持支持的态度,但也有一

    相关 理解java

    面向对象编程有三大特性:封装、继承、多态。        封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。对外界而已它的内部细节是隐藏