java接口(interface)方法从子类中删除

标签 java interface

任何人都可以对以下内容提出建议:

在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/

相关文章:

c# - 当 Delphi 类型为 "out PChar"时,我应使用什么 C# 参数类型?

c# - 你认为 "auto interface implementation"在 .NET/C# 中有用吗?

c++ - 通过实例交换 Qt5 维护信号连接

java - 如何禁用 javac 文件名检查?

Java - 如何 "unhide"JFrame

java - 从正确的对象引用中使用 volatile 变量

java - AspectJ cflow切入点是如何实现的?

java - PowerMock + TestNg | PowerMock + TestNg | PowerMock + TestNg预期异常不起作用

c# - C#动态设置界面装饰

java - 在 Java 中将接口(interface)类作为参数传递