metoda w metodzie

0

Witam,
Chciałam zrobić tak, żeby wykorzystać wcześniej zdefiniowaną metodę w metodzie zewnętrznej, ale dodatkowo, żeby ta wewnętrzna mogła wykorzystywać zmienną (wynik) zewnętrznej. Czy tak w ogóle się da? Bo klasą wewn też chyba się tego nie załatwi, bo też można dostać się tylko do zmiennych lub metod kl zewn, a ja chcę do zmiennej w metodzie kl zewn się dostać. Będę wdzięczna za odpowiedź.
Od razu sobie zastrzegam, że orłem nie jestem, bardziej początkującą, więc może jakoś prosto się to rozwiązuje a ja głupio pytam, ale szukałam w internecie i książce i nie znalazłam przykładu.

Pozdrawiam :)

0

Takie coś nazywa się domknięciem:
http://pl.wikipedia.org/wiki/Domkni%C4%99cie_%28programowanie%29
oraz drugi post (ten z ~ 80 plusami)
http://stackoverflow.com/questions/36636/what-is-a-closure
dobrze wyjaśnia metodę w metodzie i związanie ze środowiskiem

0

Przykład w Javie jak z metody w klasie anonimowej dostać się do stałej z metody gdzie ta klasa została stworzona:

public class Main {

    public static void main(String[] args) throws Exception {
        final int lolek = 5 + 8;
        new Runnable() {

            @Override
            public void run() {
                System.out.println(lolek);
            }
        }.run();
    }
}

Stałość w tym przypadku to posiadanie modyfikatora 'final' i tyle. 'lolek' może z powodzeniem być mutowalnym obiektem, np listą.

Taka konstrukcja to właśnie domknięcie o którym napisał ubuntuser.

0

Super, dziękuję bardzo. :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1