Vererbung: Welche Methode wird verwendet?

seakey

Mitglied
Hallo,

ich habe eine Frage zum Thema Vererbung und hoffe, mir kann jemand weiterhelfen:

Wie gesagt möchte ich vererben, habe also eine Vaterklasse und eine Kindklasse. Nun rufe ich in der Kindklasse eine Methode der Vaterklasse auf, welche wiederum eine andere Methode der Vaterklasse aufruft. Diese andere Methode wird aber wieder von mir in der Kindklasse überschrieben.

Bisher war ich der Meinung, dass dann die überschriebene Methode in der Kindklasse aufgerufen wird, was aber nicht der Fall ist, wenn ich meinen Code ausführe (es wird also die Methode der Vaterklasse aufgerufen).

Liege ich mit meiner Meinung falsch?

(Ich hoffe, dass ich das Problem einigermaßen verständlich erklären konnte)
 

seakey

Mitglied
Also:

Vaterklasse:
Java:
public class PDFTextStripper extends PDFStreamEngine {
     protected void processPage( PDPage page, COSStream content ) throws IOException {
          ...
          writePage();
          ...
     }
    
     protected void writePage() throws IOException {
          ...
     }
}

Kindklasse:
Java:
public class PDFTextLineStripper extends PDFTextStripper {
     protected void processPages( List<PDPage> pages ) throws IOException {
          Iterator<PDPage> pageIter = pages.iterator();
          while( pageIter.hasNext()) {
               PDPage nextPage = pageIter.next();
               PDStream contentStream = nextPage.getContents();
               ...
               processPage( nextPage, contents );
               ...   
           }
     }
     
     protected void writePage() throws IOException {
          ...
     }
}

Ich rufe in PDFTextLineStripper.processPages(...) die Methode PDFTextStripper.processPage(...) auf. Diese wiederum ruft writePage() auf. Hier soll aber nicht die PDFTextStripper.writePage(), sondern die PDFTextLineStripper.writePage() aufgerufen werden.
 
Zuletzt bearbeitet:

seakey

Mitglied
Auf die Schnelle:

Java:
public class Vaterklasse {

	public static String getOutput() {
		return getString();
	}
	
	public static String getString() {
		return "String of Vaterklasse"; 
	}
}

Java:
public class Kindklasse extends Vaterklasse {
	
	public static void main(String[] args) {
		System.out.println(getOutput());
	}
		
	public static String getString() {
		return "String of Kindklasse";
	}
}

Liefert "String of Vaterklasse"
 

Michael...

Top Contributor
das sind ja auch statische Methoden, die werden nicht vererbt und werden auch nicht an einem Object aufgerufen. Und da die Kind Klasse keine statische Methode getOutput() besitzt wird diese im Vaterkontext aufgerufen
 

Michael...

Top Contributor
Hier mal ein Bsp mit Vererbung, in dem wie zu erwarten die überschriebene Methode der Kindklasse aufgerufen wird.
Java:
public class TestClass {
	public static void main(String[] a) {
		Child child = new TestClass().new Child();
		child.saySomething();
		child.sayBla();
	}
	
	class Father {
		protected void saySomething() {
			sayHello();
		}
		
		protected void sayHello() {
			System.out.println("Father says: Hello!");
		}
	}
	
	class Child extends Father {
		protected void sayBla() {
			for (int i=0; i<5; i++)
				saySomething();
		}
		
		protected void sayHello() {
			System.out.println("Child says: Hello!");
		}
	}
}
 

seakey

Mitglied
Ok, das Beispiel hab ich tatsächlich verbockt :oops:
Muss jetzt nur noch nachvollziehen, warum das in meinem ursprünglichen Code nicht tut. Die sind natürlich alle non-static.

Aber erstmal vielen Dank für eure Hilfe.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
U Vererbung?! Allgemeine Java-Themen 15
temi Problem mit Aufrufreihenfolge bei Vererbung Allgemeine Java-Themen 3
MiMa Vererbung und Komposition?? Allgemeine Java-Themen 38
Kirby.exe Vererbung bei Generics Allgemeine Java-Themen 7
L Vererbung Verständnis Probleme Vererbung Allgemeine Java-Themen 2
W Generics + Vererbung Allgemeine Java-Themen 47
M Vererbung mithilfe von Bluej Allgemeine Java-Themen 3
M List -Tableview-Javafx-Vererbung Allgemeine Java-Themen 35
A Vererbung Selbstreferenzparameter Allgemeine Java-Themen 14
D Thema: Vererbung Ober-/Unterklassen Allgemeine Java-Themen 16
D Frage zu Vererbung Allgemeine Java-Themen 5
N Vererbung mit GUI Allgemeine Java-Themen 9
E Vererbung Countable mit Vererbung Allgemeine Java-Themen 6
J 2 Fragen zur Vererbung Allgemeine Java-Themen 5
T Javaklassen und vererbung Allgemeine Java-Themen 32
F Vererbung Allgemeine Java-Themen 5
Neumi5694 Vererbung Restriktive Vererbung Allgemeine Java-Themen 4
A Vererbung Übungsaufgabe Vererbung - Erstellung Klassenhierarchie Allgemeine Java-Themen 1
J Allgemeine Fragen zu Vererbung Allgemeine Java-Themen 1
kaoZ Generics und Vererbung Allgemeine Java-Themen 3
D Problem bei Vererbung abstrakter Klassen Allgemeine Java-Themen 6
D Object nach Vererbung mit Class Object überprüfen Allgemeine Java-Themen 4
T Super Klasse Vererbung Problem :/ Allgemeine Java-Themen 10
L Unabhängige Auslieferung bei Vererbung Allgemeine Java-Themen 20
S MVC - Vererbung Allgemeine Java-Themen 4
C Enums und Vererbung Allgemeine Java-Themen 6
F Google Guice + Generics + Vererbung Allgemeine Java-Themen 5
D Unterschied Vererbung und Polymorphie? Allgemeine Java-Themen 4
K Vererbung ohne Basisklasse zu kennen Allgemeine Java-Themen 20
Da_Tebe ArrayList<xyz> Verschachtelung oder Vererbung? Allgemeine Java-Themen 6
faetzminator statische Variablen in Interface - Vererbung? Allgemeine Java-Themen 9
M OOP PropertyChangeListener - Vererbung oder Komposition? Allgemeine Java-Themen 5
S OOP Mehrfache Vererbung von abstrakten Klassen Allgemeine Java-Themen 7
G Designfrage Vererbung ja oder nein Allgemeine Java-Themen 9
S equals - Identität ändern bei Vererbung? Allgemeine Java-Themen 5
dayaftereh Vererbung Hilfe Allgemeine Java-Themen 2
D Vererbung, Reflection und automatischer Methodenaufruf Allgemeine Java-Themen 24
A PropertyChangeListener Vererbung Allgemeine Java-Themen 4
P DefaultTreeCellRenderer Vererbung Allgemeine Java-Themen 5
S Objekte die Objekte enthalten: Keine Vererbung Allgemeine Java-Themen 4
J Vererbung bei abstrakten Klassen Allgemeine Java-Themen 2
L Checkstyle: Wann ist eine Methode für Vererbung entworfen? Allgemeine Java-Themen 13
S normale vererbung als interface Allgemeine Java-Themen 2
S statische Methoden und Vererbung Allgemeine Java-Themen 6
R Vererbung - doppelte Paint-Methode Allgemeine Java-Themen 4
R Vererbung mit Interface und Abstract Allgemeine Java-Themen 3
B Vererbung bei enums ? Allgemeine Java-Themen 3
W Frage zu Vererbung / konkretes Beispiel Allgemeine Java-Themen 4
F Vererbung von SessionBeans Allgemeine Java-Themen 3
O abstract, privat, Vererbung Allgemeine Java-Themen 29
L Annotations mit Vererbung Allgemeine Java-Themen 4
M Singleton und Vererbung? Allgemeine Java-Themen 45
T Problem mit Vererbung Allgemeine Java-Themen 3
V Vererbung und Schleifen Allgemeine Java-Themen 5
C Comparable + Vererbung Funktioniert nicht? Allgemeine Java-Themen 4
A Ansatz Objektorientierung, Methoden Vererbung Allgemeine Java-Themen 2
D Listen von Generischen Typen inkl. Vererbung Allgemeine Java-Themen 2
D Zugriffsmethode nach Vererbung ändern? Allgemeine Java-Themen 5
S Vererbung in UML Allgemeine Java-Themen 3
T Nochmal Frage zu Vererbung Interfaces etc. Allgemeine Java-Themen 10
Y Gedanken zur Vererbung Allgemeine Java-Themen 7
F Vererbung, Generizität und Collections. Allgemeine Java-Themen 7
G Frage zu statischen Variablen bei Vererbung Allgemeine Java-Themen 15
F Vererbung Allgemeine Java-Themen 5
S Vererbung von mehreren Klassen? Allgemeine Java-Themen 5
C enum und Vererbung Allgemeine Java-Themen 3
K Problem mit Vererbung - Kein wirklicher Nutzen. Allgemeine Java-Themen 10
G vererbung vs benutzung Allgemeine Java-Themen 7
L Vererbung klappt nicht Allgemeine Java-Themen 5
W Probleme mit Arrays und Vererbung ! Allgemeine Java-Themen 5
M vererbung einer "selbst-instanzierungs-klasse" Allgemeine Java-Themen 16
J Vererbung. Allgemeine Java-Themen 8
H Frage zur Vererbung Allgemeine Java-Themen 5
S private Instanzvaribalen bei "Innerer-Vererbung" Allgemeine Java-Themen 9
H Vererbung auch ohne erzeugung einer Instanz möglich? Allgemeine Java-Themen 3
M frage zur vererbung Allgemeine Java-Themen 12
G Generics und Vererbung. Allgemeine Java-Themen 21
M Vererbung von Hashtables Allgemeine Java-Themen 5
C dynamische Vererbung Allgemeine Java-Themen 6
D Linux, Java-Version wird nicht erkannt bzw. welche Einstellung fehlt noch? Allgemeine Java-Themen 19
P Feststellen, Welche Classes ich aus einem JAR nutze? Allgemeine Java-Themen 6
H Apache fop -- welche Möglichkeit gibt es um den Fortschritt anzuzeigen (Progressbar) Allgemeine Java-Themen 5
goldmensch Datentypen Welche Methode hat die bessere Performance? Allgemeine Java-Themen 12
S Wenn eine Klasse zwei Interfaces mit derselben Methodensignatur implementiert: welche wird aufgerufen? Allgemeine Java-Themen 15
X Collections Gibt es eine Klasse welche die Vorteile von List und HashMap vereint, aber konstante Laufzeit (O(1)) hat in Java? Allgemeine Java-Themen 4
F Java Web App - welche Technologien? Allgemeine Java-Themen 11
S Welche API? Allgemeine Java-Themen 6
B Klassen Objekt erzeugen und Konstruktor aufrufen - Welche Lösung ist besser? Allgemeine Java-Themen 2
K Welche Zertifizierung passt? Allgemeine Java-Themen 10
A Variable, welche Exeption wirft als "Global" deklarieren Allgemeine Java-Themen 13
J Videokonferenz mittel Java ? Welche Möglichkeiten habe ich ? Allgemeine Java-Themen 2
J Welche Layouts benutzt ihr? Allgemeine Java-Themen 2
G Wiedereinstieg, welche Java Version empfehlt ihr Allgemeine Java-Themen 7
M Welche Exceptionbehandlung ist sinnvoll? Allgemeine Java-Themen 3
H NetBeans geotools 15 oder 16 - welche Abhängingkeiten gibt es? Welche Jars brauche ich? Allgemeine Java-Themen 4
S Welche Java Techologien gibt es fürs Frontend Allgemeine Java-Themen 4
S Welche Nutzen bringen Lamda Expressions? Allgemeine Java-Themen 1
M Welche Umgebung und Frameworks für mich als Umsteiger Allgemeine Java-Themen 6
C Welche Styleconvention Allgemeine Java-Themen 0
ruutaiokwu datenstruktur welche sich "im kreis" dreht Allgemeine Java-Themen 26

Ähnliche Java Themen


Oben