我有一个场景,我想创建一个名为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