任何人都可以对以下内容提出建议:
在java8中考虑一个具有两个方法的接口(interface)(例如interface1,interface 2) 稍后对许多子类实现这些方法我想从我的子类之一中删除一个方法interface1而不影响其他子类是否有任何可能的解决方案?
最佳答案
如果你的子类声明它实现这个接口(interface),那么你别无选择,只能提供所有方法的实现,或者声明类抽象。如果您想要一个具体的类,但它不在功能上实现接口(interface)中的所有方法,那么这里有一个选择:
public interface YourInterface {
void method1();
void method2();
}
public class YourSubClass implements YourInterface {
@Override
public void method1() {
// actually do something
}
@Override
public void method2() {
throw new UnsupportedOperationException("method2() is not supported here.");
}
}
虽然我们确实实现了所有方法,但如果调用者尝试访问 method2()
,我们会抛出运行时异常。
关于java接口(interface)方法从子类中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58484073/