我正在尝试实现一个重载的接口方法。我知道这在 Java 中不起作用,但是我如何重写以下内容以在我的action()
方法中包含实现类型,而不是Base
类型?
class Base;
class Foo extends Base;
class Bar extends Base;
interface IService {
void action(Base base);
}
class FooService implements IService {
void action(Foo foo) {
//executes specific foo action
}
}
class BarService implements IService {
void action(Bar bar) {
//executes specific Bar action
}
}
用法:
Base base; //may be foo or bar
anyService.action(bar);
你明白了。我怎么能这样做?