【问题标题】:static interface factory methods [Java 8] [duplicate]静态接口工厂方法 [Java 8] [重复]
【发布时间】:2018-01-11 19:35:27
【问题描述】:

我希望每个实现接口的类都具有接口定义的静态工厂方法。即:

public interface Handle {
    public static Handle GetHandle() {
       return null;
    }
    public void DoThings();
}

public class HandleA implements Handle {
    private HandleA();
    public static HandleA GetHandle() {
       return new HandleA();
    }
    public void DoThings() {
       return;
    }
}

// This is allowed even though HandleB doesn't provide a GetHandle()
public class HandleB implements Handle {
    private HandleB();
    public void DoThings() {
       return;
    }
}

阅读过去的问题,似乎静态方法 GetHandle() 没有在 Handle 的具体类中强制执行,因为这不是静态接口方法的预期设计行为。还有另一种方法可以做我想做的事吗? (即强制 Handle 的所有实现提供“工厂”GetHandle() 方法)。

【问题讨论】:

    标签: java oop interface factory


    【解决方案1】:

    您不能强制一个类在 Java 中具有静态方法。

    【讨论】:

    猜你喜欢
    • 2018-09-24
    • 2014-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多