Java, выполняя метод, когда заканчивается область объекта
У меня есть объект с определенным состоянием. Объект передается вокруг, и его состояние временно изменяется. Что-то вроде:
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();
}
Это упрощает работу, потому что сохранение / загрузка связаны с областьюNeatManager
объект. Можно ли сделать что-то подобное в Java? Есть ли способ вызвать метод, когда объект выходит из области, в которой он был объявлен? Я не говорю оfinalize()
ни "уничтожение" (сборка мусора), меня интересует объем.
Спасибо