Heim  >  Artikel  >  Java  >  Was sind die notwendigen Bedingungen für die Existenz von Polymorphismus in Java?

Was sind die notwendigen Bedingungen für die Existenz von Polymorphismus in Java?

王林
王林nach vorne
2020-07-13 16:26:553331Durchsuche

Was sind die notwendigen Bedingungen für die Existenz von Polymorphismus in Java?

Drei notwendige Bedingungen für die Existenz von Polymorphismus:

(Empfohlenes Lernen: Java-Einführungs-Tutorial)

  • Erben

  • Überschreiben

  • Die übergeordnete Klassenreferenz verweist auf das untergeordnete Klassenobjekt

Wenn Sie eine Methode mit Polymorphismus aufrufen, prüfen Sie zunächst, ob die Methode in der übergeordneten Klasse vorhanden ist. Wenn dies nicht der Fall ist, rufen Sie die gleichnamige Methode in der Unterklasse auf.

Vorteile des Polymorphismus:

ermöglicht eine gute Erweiterung des Programms und kann universell mit Objekten aller Klassen umgehen.

(Video-Tutorial: Java-Video-Tutorial)

Testcode:

public class Test {
    public static void main(String[] args) {
      show(new Cat());  // 以 Cat 对象调用 show 方法
      show(new Dog());  // 以 Dog 对象调用 show 方法
                
      Animal a = new Cat();  // 向上转型  
      a.eat();               // 调用的是 Cat 的 eat
      Cat c = (Cat)a;        // 向下转型  
      c.work();        // 调用的是 Cat 的 work
  }  
            
    public static void show(Animal a)  {
      a.eat();  
        // 类型判断
        if (a instanceof Cat)  {  // 猫做的事情 
            Cat c = (Cat)a;  
            c.work();  
        } else if (a instanceof Dog) { // 狗做的事情 
            Dog c = (Dog)a;  
            c.work();  
        }  
    }  }
 abstract class Animal {  
    abstract void eat();  }  
  class Cat extends Animal {  
    public void eat() {  
        System.out.println("吃鱼");  
    }  
    public void work() {  
        System.out.println("抓老鼠");  
    }  }  
  class Dog extends Animal {  
    public void eat() {  
        System.out.println("吃骨头");  
    }  
    public void work() {  
        System.out.println("看家");  
    }  }

Ausgabeergebnis:

吃鱼
抓老鼠
吃骨头
看家
吃鱼
抓老鼠

Das obige ist der detaillierte Inhalt vonWas sind die notwendigen Bedingungen für die Existenz von Polymorphismus in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen