I have this interface,
public interface IAnything {
void m1();
void m3();
}
And two abstract classes implementing this interface:
public abstract class AbstractThing1 implements IAnything {
public void m1() {}
public void m3() {}
}
public abstract class AbstractThing2 implements IAnything {
public void m1() {}
public void m3() {}
}
Somewhere in my code I want to call a function doSomething(kindOfAbstractClass)
that perfoms m1()
and m3()
, among other jobs depending on kindOfAbstractClass.
How can I define and call doSomething()
? I did this but it is not working. Thanks
private <T extends IAnything> void doSomething(T kindOfAbstractClass) {
...
kindOfAbstractClass.m1();
kindOfAbstractClass.m3();
...
}
doSomething(AbstractThing1.class);