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() ни "уничтожение" (сборка мусора), меня интересует объем.

Спасибо

Ответы на вопрос(5)

Ваш ответ на вопрос