0
我希望每个实现接口的类都具有静态工厂方法,如接口所定义。即:静态接口工厂方法[Java 8]
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的所有实现以提供“工厂”GetHandle()方法)。
而且你不能抽象它们:https://stackoverflow.com/questions/370962/why-cant-static-methods-be-abstract-in-java –