Java面向对象编程中,继承与覆写冲突示例

原创 你的名字 2024-10-08 23:54 187阅读 0赞

在Java面向对象编程中,继承和覆写是两个重要的概念。当一个类继承另一个类并覆盖某个方法时,如果这两个行为同时存在,就可能出现冲突。

以下是一个简单的示例,展示了继承与覆写冲突:

  1. // 父类
  2. class Animal {
  3. void sound() {
  4. System.out.println("Animal makes a sound");
  5. }
  6. }
  7. // 子类
  8. class Dog extends Animal {
  9. // 覆盖父类的方法
  10. @Override
  11. void sound() {
  12. System.out.println("Dog barks loudly");
  13. }
  14. }
  15. public class Main {
  16. public static void main(String[] args) {
  17. // 创建一个狗的实例
  18. Dog myDog = new Dog();
  19. // 调用覆写的方法
  20. myDog.sound(); // 输出 "Dog barks loudly"
  21. // 如果直接调用父类方法,会覆盖覆写的结果
  22. Animal.animalSound(myDog); // 输出 "Dog barks loudly"
  23. }
  24. }

在这个例子中,子类Dog覆盖了父类Animal的方法sound()。在main()方法中,我们先创建了一个Dog的实例,然后调用了这个覆写过的sound()方法。

如果我们在一个地方直接调用Animal.sound(myDog),这会覆盖掉之前由子类覆写的sound()方法,输出的就是覆写后的方法定义。这就是继承与覆写冲突的一个简单示例。

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

发表评论

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

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

相关阅读