java - 当你无法在java中扩展抽象类时,部分接口(interface)实现

标签 java interface abstract-class partial

假设我有一个有 3 个方法的接口(interface)。该接口(interface)将由许多类实现,但所有类中 method1 的实现都是相同的。

我可以创建一个抽象类并为 method1 提供具体实现,然后让我的类扩展该类。

我的问题是,当我已经扩展一个类时,如何扩展这个抽象类。 Java 不支持它。这样的场景我该如何设计?

interface Inf{
 void method1();
 void method2();
 void method3();
}

public abstract class Abs implements Inf{
 void method1(){
  //concrete implementation
 }
}

class Test extends SomeClass implements Inf{
   //here I need method1 implementation and other methods Ill implement
}

class SomeClass{
}

最佳答案

使用 java 8,您可以在接口(interface)内定义方法的默认实现。

public interface A {
    default void method1() { System.out.println("Default method1 implementation"); }
    void method2();
    void method3();
}

关于java - 当你无法在java中扩展抽象类时,部分接口(interface)实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22860756/

相关文章:

java - gradle:找不到@Entity符号

java - 将鼠标悬停在亚马逊的下拉菜单上

java - Tomcat 7.0.42 -> 7.0.47 在 EL-Escaping 中发生了什么变化?

json - 将任意字段添加到未知结构的 json 输出

java - 如何将接口(interface)用作类?

c++ - 访问实现接口(interface)但不属于接口(interface)的类的函数

java - 调用timer.cancel() 方法后,TimerTask 会再运行一次

java - 使用接口(interface)进行通信的两个独立类

java - 如果我们有压倒性的概念,为什么还要抽象呢?

java - 强制子类在java中设置内部类