[JAVA] Niedergeschlagene Geschichte (Denkmal)

Was ist niedergeschlagen

Speichern eines Oberklassenobjekts in einem Unterklassenobjekt.

Downcast-Fehler

Ich sollte prüfen, ob die Instanz mit der Instanz von zugewiesen werden kann, aber ich dachte, es wäre in Ordnung, wenn ich sie nicht überprüfe, und beschloss, meine eigene Interpretation als Memorandum zu schreiben.

Wenn ich es tatsächlich in Code mache ...

NG-Muster (niedergeschlagen)
public class Human {
  public void speak (){
    System.out.println("a-I-U-E-O");
  }
}
public class Men extends Human {
  public void speak (){
    System.out.println("Kakikukeko");
  }
}
public class Main {
  public static void main void (String [] args){
    Human h = new Human();
    Men M = (Men) h;
  }
}

In diesem Fall kann der Mensch nicht niedergeschlagen werden, weil er den Inhalt der Menschen nicht kennt.

In den folgenden Fällen (Bearbeiten der Hauptklasse)

public class Main {
  public static void main void (String [] args){
    Human h = new Men();
    Man m = (Man) h;
  }
}

Männer wissen, was Menschen sind und können niedergeschlagen sein.

Recommended Posts

Niedergeschlagene Geschichte (Denkmal)
Upcast / Downcast