首页 > 解决方案 > 从子类中删除的java接口方法

问题描述

任何人提供以下提到的建议:

在 java8 中,考虑一个接口有两个方法(例如 interface1,interface 2),稍后我想从我的一个子类中删除一个方法 interface1 而不会影响其他方法是否有任何可能的解决方案?

标签: javainterface

解决方案


如果你的子类声明它实现了这个接口,那么你别无选择,只能为所有方法提供实现,或者声明类抽象。如果您想要一个具体的类,但它不能在功能上实现接口中的所有方法,那么这里是一个选项:

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()


推荐阅读