Mając taki o to fragment kodu:
public class Outside { //Klasa zewnętrzna.
class Inside { //Klasa wewnętrzna.
public void f(){ } //Metoda klasy wewnętrznej.
}
public void g(){ } //Metoda klasy zewnętrznej.
public static void main(String args[]){
new Outside().g(); //Utwórz obiekt klasy Outside, a następnie wywołaj jego metodę o nazwie g,
// odwołanie do obiektu nie jest nigdzie zapamiętywane.
Outside out = new Outside(); //Jak wyżej. Odwołanie do obiektu jest zapamiętywane w zmiennej out.
out.g();
}
}
pytanie brzmi:
Czy new Outside().g();
to to samo co (new Outside()).g();
?
Priorytet operatorów mówi, że .
jest wyżej niż new
, więc dlaczego najpierw tworzony jest obiekt, a potem wywoływana jego metoda?