我正在寻找一种最佳方法来分配对新对象的现有引用 我希望在从子类分配给新对象之前删除父类创建的旧对象。
MyClass extends BaseClass{
this.myClient = BaseClass.getClient(); //always i get a new object created here
overrideClient();// i need to create a new object for same reference.
overrideClient(){
this.myClient = MyClass.getClient();
}
}
答案 0 :(得分:2)
您不必“删除”旧对象。这就是垃圾收集器的用途。
当然,如果您使用某种方法(例如setClient()
)进行赋值,并在子类中覆盖该方法,则可以避免创建将被覆盖的对象。
public class BaseClass {
...
setClient ()
{
this.myClient = BaseClass.getClient();
}
...
}
public class MyClass extends BaseClass {
...
setClient ()
{
this.myClient = MyClass.getClient();
}
...
}
这将保存不会被使用的对象的分配。