我有一個場景,我想創建一個名爲D的包含泛型方法的支持類。我已經爲類型變量設置了上限。使用類型變量泛型的調用方法
class A{
void show(){
System.out.println("Hello A");
}
}
class B extends A{
void msg(){
System.out.println("Hello B");
}
}
class C extends A{
void msg(){
System.out.println("Hello C");
}
}
class D{
<T extends A> void display(T ob){
ob.msg(); //here i want to do some tricks
}
}
首先我想分享我的目標。這裏B和C類的msg()函數有不同的實現。我想創建一個名爲D的支持類,它具有一個顯示方法,使用顯示方法,我想根據實例調用B或C類的msg()函數。你能告訴我如何實現它?
只是供參考,這些是方法,而不是功能。 – gprathour
是否可以檢查** ob instanceof B ** || ** ob instanceof C **?或者,也許那不是你問的問題? – ShayHaned
類'A'沒有'msg'方法,它只在子類中聲明。因此,如果'A'可以是抽象的,添加一個抽象方法,如果不是,添加一個空方法(不好首先...)。或者在'A'中重命名'show'以匹配'B'和'C'中的方法名稱(如果它們應該相同) – AxelH