有兩個類A和B有類似的方法。如何編寫一個泛型方法,該方法將任何一個類對象作爲參數,並能夠調用該類的方法。Java中帶有對象作爲參數的通用方法
編輯:我無法控制A類,B類。我只將它們作爲參數。所以我不能修改添加它們。
public class methods {
public static void main(String[] args) {
new methods().getName(new B());
new methods().getName(new A());
}
private <T> void getName(T obj){
// obj.getName()
}
}
class A {
String name = "ClassA";
public void getName(){
System.out.println(name);
}
}
class B {
String name = "ClassB";
public void getName(){
System.out.println(name);
}
}
編程到接口。 –
使A和B實現一個通用接口,並將該接口用作方法的參數。這只是多態。你不需要那種泛型。 –
編輯之後:只有反射可以做到這一點。編譯器無法處理不同類型的對象。他們需要是同一類型的。 –