0
我想不出一個很好的方式來命名它。基本上我有一個程序,我希望有一個默認的「模式」,差不多我猜應該如何運作。但我想允許使用它來創建它們自己的類的實現(這就像一個API),並將其用作參數,而不是內部的功能。這是最有效的方法嗎?如果你不明白這裏的壞描述就是一個例子。Java:使用一個類作爲參數來描述一個設置
public class SimpleStyle extends AbstractStyle {
public void personalizedImplementation() {
// manipulate the program this way
}
}
則在該方法
public static void do(Class<? extends AbstractSyle> style) {
// Use reflection in herre to get the implementation and do it
}
是否有更好和更有效的方式做這樣的事情
我從來沒有看到該構建器模式的好處,在'createStyle'的'AbstractStyle'中有一個抽象方法來強制類有一個靜態方法來創建一個新實例,而不是工廠界面的所有樣板代碼和不同實現的多個工廠 – Elliott
@Elliott我同意,但靜態方法不能被繼承。這意味着你不能強制'SimpleStyle'有一個靜態的'createStyle'方法,即使它有一個,你也不能以通用的方式安全地調用它。 –
@Elliott將方法聲明爲「靜態抽象」應該會引發編譯器錯誤。有關詳細信息,請參閱[此問題](http://stackoverflow.com/questions/370962/why-cant-static-methods-be-abstract-in-java)。 –