我有这个界面,
public interface IAnything {
void m1();
void m3();
}
还有两个实现这个接口的抽象类:
public abstract class AbstractThing1 implements IAnything {
public void m1() {}
public void m3() {}
}
public abstract class AbstractThing2 implements IAnything {
public void m1() {}
public void m3() {}
}
在我的代码中的某个地方,我想调用 a function doSomething(kindOfAbstractClass)
that perfoms m1()
and m3()
,以及其他取决于 kindOfAbstractClass 的工作。
我该如何定义和调用doSomething()
?我这样做了,但它不起作用。谢谢
private <T extends IAnything> void doSomething(T kindOfAbstractClass) {
...
kindOfAbstractClass.m1();
kindOfAbstractClass.m3();
...
}
doSomething(AbstractThing1.class);