Java,在对象的作用域结束时执行方法
2022-09-03 01:29:45
我有一个具有特定状态的对象。对象被传递,其状态被暂时改变。像这样:
public void doSomething(MyObject obj) {
obj.saveState();
obj.changeState(...);
obj.use();
obj.loadState();
}
在C++在构造和析构时,可以使用对象的作用域来运行一些代码,例如
NeatManager(MyObject obj) { obj.saveState(); }
~NeatManager() { obj.loadState(); }
并称它为
void doSomething(MyObject obj) {
NeatManager mng(obj);
obj.changeState();
obj.use();
}
这简化了工作,因为保存/加载与对象的作用域绑定。在Java中可以做这样的事情吗?有没有办法在对象超出其声明范围时调用方法?我不是在谈论“破坏”(垃圾回收),我对范围感兴趣。NeatManager
finalize()
谢谢