У меня есть объект с определенным состоянием. Объект передается, и его состояние временно изменено. Что-то вроде:Java, выполняющий метод при завершении области объекта
public void doSomething(MyObject obj) {
obj.saveState();
obj.changeState(...);
obj.use();
obj.loadState();
}
В C++ это можно использовать масштаб объекта, чтобы запустить код при построении и distructing, как
NeatManager(MyObject obj) { obj.saveState(); }
~NeatManager() { obj.loadState(); }
и назвать его как
void doSomething(MyObject obj) {
NeatManager mng(obj);
obj.changeState();
obj.use();
}
Этом упрощает работу, поскольку сохранение/загрузка привязана к области NeatManager
. Можно ли сделать что-то подобное на Java? Есть ли способ вызвать метод, когда объект выходит за пределы области, в которой он был объявлен? Я не говорю о finalize()
или «уничтожении» (сборке мусора), меня интересует область действия.
Thanks
Спасибо, интересно услышать об этом в Java7. – AkiRoss