【发布时间】: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