Ich habe ein MySuperClass
, MySubClass
und Main
KlassenWie ruft man eine Superklassenmethode für ein Unterklassenobjekt auf?
MySuperClass.java
public abstract MySuperClass {
String param;
public String getParam() {
return param;
}
}
MySubClass.java
public class MySubClass extends MySuperClass {
}
Main.java
public <T extends MySuperClass> void doWork (Class <T> subClassObject) {
subClassObject.getParam(); // method undefined
}
Warum? Ich habe T extends MySuperClass
angegeben. Also sollte alle MySuperClass
Methode für die Unterklasse funktionieren. Wie man die Methode einer Oberklasse von einem Unterklassenobjekt aufruft?
Wollen Sie die Parameter ein 'Klasse' oder 'T' zu sein? Das sind sehr unterschiedliche Dinge. –
resueman
Sie verwechseln eine Klasse mit einer Instanz dieser Klasse. Sie können die Methode nur für eine 'Class' in' Class' aufrufen. –
Ich habe gerade 'T' probiert und es hat funktioniert. Ich weiß nicht den Unterschied zwischen T und T' –
john