假设我有一个有 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/