我有一個在我的基類之一上創建的單例對象。軟件設計,可讀性問題,靜態與實例方法
public class SomeClass
{
private static final MySingletonClass _singletonObject = new MySingletonClass()
protected final getSingletonObject()
{
return _singleonObject;
}
}
我還沒決定是否應該使方法變爲靜態。我的設計思想說這個方法應該是靜態的,因爲對象是靜態的,但我的「用戶」頭腦說這個方法應該是一個實例,因爲這個對象的使用只有在派生類成員中訪問時纔有意義。
public class SomeDerivedClass extends SomeClass
{
public void someMethod()
{
// If static can be used SomeClass.getSingletonObject()
getSingletonObject();
}
}
的使用是完全一樣的唯一的視覺差異的方式,在IDE中對待靜態和實例方法,我的問題通過不顯著。
這並不能解決我的問題,因爲我不想公開所有類的實例,只是爲了SomeClass的子類。 – DVD 2012-04-09 19:23:10
然後它不應該是靜態的,只是使它最終。 – 2012-04-09 19:25:53
但我想要多個派生類實例共享的對象xD – DVD 2012-04-09 19:33:47