首页 > 解决方案 > Java中接口的非强制方法实现

问题描述

在 Java 安卓中:

说,有一个界面:

interface RC
{
  void Run();
  void Turn(Boolean leftRight);
  void Reverse();
  void Stop();
  void Launch();
}

如何Launch()在继承的类中将方法标记为非强制实现?

得到那个

class A implements RC{
  //class A methods... + only 4 from RC
  public void Run();
  public void Turn(Boolean leftRight);
  public void Reverse();
  public void Stop();
  // is not existed Launch
}

标签: javaandroid

解决方案


对于 java 8+,您可以将方法标记为默认值并将其实现提供为空主体。虽然在大多数情况下你会想要分离接口,但有时它确实很有用。例如:

interface A {
    void first();
    default void second(){
       //throw new UnsupportedOperationException(); or do some default logic
    }
}

在您的实现类中,您只需要实现第一个方法


推荐阅读