Nein. Es könnte nur eine nacheinander für jedes Objekt verwendet werden (vorausgesetzt, dass das Programm nicht mehr macht, wie in diesem Beispiel.) Siehe unten.
Polymorphie bedeutet "Vielgestaltigkeit." In Java bedeutet es, dass eine einzelne Variable für verschiedene Objekte verwandter Klassen (zu verschiedenen Zeitpunkten) in einem Programm verwendet werden kann.
Wenn die Variable mit der Punktnotation variable.methode() verwendet wird, um eine Methode aufzurufen, hängt es vom Objekt ab, auf das die Variable gegenwärtig verweist, welche Methode tatsächlich ausgeführt wird.
Hier ist ein Beispiel:
// . . . Klassendefinitionen wie vorher
public class KarteTester
{
public static void main(String[] args)
{
Karte postkarte = new Feiertag("Amy");
postkarte.gruss(); //Feiertag gruss() aufrufen
postkarte = new Valentin("Bob", 3);
postkarte.gruss(); //Valentin gruss() aufrufen
postkarte = new Geburtstag("Cindy", 17);
postkarte.gruss(); //Geburtstag gruss() aufrufen
}
}
Was wird das Programm ausgeben?