-1
我有不同的抽象類A的子類,它們都應該實現getInstance方法。該方法檢查一個實例是否已經以xml格式(XStream library)保存在磁盤上並加載它或創建新實例。抽象和靜態上下文中的泛型
public MySubclassB extends A {
...
private static SettingsManager<MySubclassB> manager;
private static MySubclassB instance;
private MySubclassB() {
manager = new SettingsManager<MySubclassB>();
}
public static MySubclassB getInstance() {
if (instance == null) {
MySubclassB tmp = new MySubclassB();
// loadObject returns either tmp if no instance was saved on disc or the saved object
if ((instance = manager.loadObject(tmp, MySubclassB.class.getCanonicalName())).hashCode() == tmp.hashCode()) {
setUpObjectFirstTime();
}
}
return instance;
}
}
是否有可能在抽象類A中做所有這些,或者我應該複製所有子類中的代碼?