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 –