[EDIT: dodano definicję typu dla "wewnętrzny"]
interface Inner{
public void execute();
}
class Outer{
int outerInt;
public void hello(){
Inner inner = new Inner(){
public void execute(){
outerInt=5;
}
}
//later
inner.execute();
}
}
będzie wywołanie inner.execute()
ustawić outerInt
zmienną że zwłaszczaOuter
obiekt do 5
, wszędzie tam, gdzie jest to wywoływana i tak długo, jak ten obiekt istnieje? A może po prostu zmieni kopię zmiennej outerInt
i nie wpłynie na oryginalny obiekt Outer
?
Myślę, że chodziło o 'Zewnętrzny wewnętrzny = nowy zewnętrzny()'. – toto2
@ toto2 Nie, nie zrobił tego. Chociaż 'Inner' nie jest wyświetlany. – Bohemian
@ toto2 Nie sądzę, że tak. – corsiKa