Hi,
hätte eine Spezialfrage zum Überschreiben von Methoden - um die Sinnhaftigkeit geht es mir in erster Linien nicht!
Also ich habe eine Basisklasse - Basic - und eine abgleitete Klasse Sub.
In Sub wird die Methode test überschrieben.
Ich erzeuge jetzt 2 Objekte:
Hab ich jetzt irgendeine Change (mit irgendwelchen Mitteln - erlaubt oder unerlaubt) dass ich von "b" oder "s" "nur" die Methode der Klasse Basic aufrufe von aussen? Also nicht mit super() in der Methode der abgleiteten Klasse sondern mit der Referenz b oder s von oben?
(in C# geht das übrigens - so abwegig ist das nicht)
hätte eine Spezialfrage zum Überschreiben von Methoden - um die Sinnhaftigkeit geht es mir in erster Linien nicht!
Also ich habe eine Basisklasse - Basic - und eine abgleitete Klasse Sub.
In Sub wird die Methode test überschrieben.
Ich erzeuge jetzt 2 Objekte:
Java:
Basic b = new Sub();
b.test();
Sub s = new Sub();
s.test();
Hab ich jetzt irgendeine Change (mit irgendwelchen Mitteln - erlaubt oder unerlaubt) dass ich von "b" oder "s" "nur" die Methode der Klasse Basic aufrufe von aussen? Also nicht mit super() in der Methode der abgleiteten Klasse sondern mit der Referenz b oder s von oben?
(in C# geht das übrigens - so abwegig ist das nicht)
Java:
public class OverrideTest {
public OverrideTest() {
Basic b = new Sub();
b.test();
Sub s = new Sub();
s.test();
}
public static void main(String[] args) {
new OverrideTest();
}
class Basic {
public Basic() {}
public void test() {
System.out.println("test Basic");
}
}
class Sub extends Basic {
public Sub() {}
@Override
public void test() {
System.out.println("test Sub");
}
}
}