我希望实现接口的每个类都有一个由接口定义的静态工厂方法。即:
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()方法)。
发布于 2017-08-04 09:50:03
在Java中,你不能强制一个类拥有一个静态方法。
https://stackoverflow.com/questions/45497043
复制相似问题