Java, wykonująca metodę po zakończeniu zakresu obiektu

Mam obiekt o określonym stanie. Obiekt jest przekazywany i jego stan jest tymczasowo zmieniany. Coś jak:

public void doSomething(MyObject obj) {
    obj.saveState();
    obj.changeState(...);
    obj.use();
    obj.loadState();
}

W C ++ możliwe jest wykorzystanie zakresu obiektu do uruchomienia kodu podczas konstruowania i dystrybucji

NeatManager(MyObject obj) { obj.saveState(); }
~NeatManager() { obj.loadState(); }

i nazwij to jak

void doSomething(MyObject obj) {
    NeatManager mng(obj);
    obj.changeState();
    obj.use();
}

Upraszcza to pracę, ponieważ składowanie / ładowanie jest powiązane z zakresemNeatManager obiekt. Czy można zrobić coś takiego w Javie? Czy istnieje sposób wywołania metody, gdy obiekt wychodzi poza zakres, w którym został zadeklarowany? Nie mówię o tymfinalize() ani „zniszczenie” (zbieranie śmieci), interesuje mnie zakres.

Dzięki

questionAnswers(5)

yourAnswerToTheQuestion