静态接口工厂方法[Java 8]

时间:2017-08-04 01:44:54

标签: java oop interface factory

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

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()方法)。

1 个答案:

答案 0 :(得分:0)

你不能强制一个类在Java中使用静态方法。