如何使方法接受具有两个接口的实例?
我有几个接口:
public interface Speaker {
void speak();
}
public inteface Walker {
void walk();
}
我想要一个方法,它接受既是 a 又是 .Speaker
Walker
现在,我可以实现另一个接口:
public interface WalkerSpeaker extends Walker, Speaker {
}
并接受这一点:
void walkAndTalk(final WalkerSpeaker x) {
x.walk();
x.speak();
}
但是,对于许多组合来说,这是非常麻烦的,并且每个实现都必须继承才能正常工作!WalkerSpeaker
有没有更好的方法?