没有实现所有的接口方法。 可能吗?

有什么办法实现一个inheritance类的接口的所有方法?

解决这个问题的唯一方法就是将你的类声明为abstract类,并把它留给一个子类来实现缺less的方法。 但最终,链中的某个人必须执行它以符合接口合同。 如果你真的不需要一个特定的方法,你可以实现它,然后return或抛出一些NotImplementedException ,以适合您的情况为准。

接口的要点是保证一个对象的外在行为与接口指定的一样

如果你没有实现你的接口的所有方法,那么你会破坏接口的全部目的。

我问自己同样的问题,然后了解了适配器。 它解决了我的问题,也许它可以解决你的问题。 这解释得非常好: https : //blogs.oracle.com/CoreJavaTechTips/entry/listeners_vs_adapters

将该类定义为一个abstract类。 但是,如果要创build实例(通过使用子类或匿名类),则必须实现这些未实现的方法。

如果你想要一个可实例化的类,这是不可能的。 尽pipe如此,你也可以尝试定义一个abstract类。

这是可能的,而且很容易。 我编写了一个例子 。

你所要做的就是inheritance一个实现该方法的类。 如果你不介意一个不可实例化的类,那么你也可以定义一个abstract类。

我们可以覆盖abstract父类和子类中的所有接口方法,只覆盖那些特定子类所需的方法。

接口

 public interface MyInterface{ void method1(); void method2(); void method3(); } 

摘要父类

 public abstract class Parent implements MyInterface{ @Override public void method1(){ } @Override public void method2(){ } @Override public void method3(){ } } 

在你的Child类中

 public class Child1 extends Parent{ @Override public void method1(){ } } public class Child2 extends Parent{ @Override public void method2(){ } }