Heim > Java > javaLernprogramm > Wie kann ich mithilfe einer Superklassenreferenz in Java auf Unterklassenmethoden zugreifen?

Wie kann ich mithilfe einer Superklassenreferenz in Java auf Unterklassenmethoden zugreifen?

Mary-Kate Olsen
Freigeben: 2024-12-04 13:32:09
Original
295 Leute haben es durchsucht

How Can I Access Subclass Methods Using a Superclass Reference in Java?

Unterklassenmethoden aus einer Oberklasse aufrufen

In Java kann es bei der Arbeit mit Vererbung zu Schwierigkeiten kommen, über eine Oberklassenreferenz auf unterklassenspezifische Methoden zuzugreifen.

Das Problem tritt auf, wenn eine Variable als Superklassentyp deklariert wird, wodurch der Zugriff auf Methoden und Mitgliedsvariablen eingeschränkt wird, die nur in der Superklasse definiert sind. Der folgende Code veranschaulicht beispielsweise das Problem:

Pet cat = new Cat("Feline", 12, "Orange");
cat.getName(); // This is allowed
cat.getColor(); // This is not allowed (getColor() is not in Pet)
Nach dem Login kopieren

Um dieses Problem zu beheben, gibt es einige Optionen:

  1. Deklarieren Sie die Variable als abgeleitete Klasse:
Cat cat = new Cat("Feline", 12, "Orange");
cat.getName(); // Allowed
cat.getColor(); // Allowed
Nach dem Login kopieren

Dieser Ansatz bietet direkten Zugriff auf die Methoden und Mitglieder der Unterklasse Variablen.

  1. Wandeln Sie die Variable in den Unterklassentyp um:
Pet cat = new Cat("Feline", 12, "Orange");
((Cat)cat).getName(); // Allowed
((Cat)cat).getColor(); // Allowed
Nach dem Login kopieren

Hier wandeln wir die Variable cat vorher explizit in den Cat-Typ um Zugriff auf die unterklassenspezifischen Methoden.

  1. Kombinieren Sie die beiden Ansätze:
Pet pet = new Cat("Feline", 12, "Orange");
Cat cat = (Cat)pet;
cat.getName(); // Allowed
cat.getColor(); // Allowed
Nach dem Login kopieren

Dies kombiniert beide Methoden aus Gründen der Bequemlichkeit und Klarheit.

Durch die Verwendung dieser Techniken können Sie Unterklassenmethoden effektiv aus Superklassenreferenzen aufrufen und so den Zugriff auf sicherstellen die gewünschten Funktionalitäten.

Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe einer Superklassenreferenz in Java auf Unterklassenmethoden zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage