NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
WernerZero Gaming:17.9.2017 19:59

Zdar, nechápem v jave slovo this vedel by mi niekto vysvetliť význam? Thx

 
Odpovědět
17.9.2017 19:59
Avatar
Odpovídá na WernerZero Gaming
Marian Benčat:17.9.2017 20:04

Ano.. tvůj kód:

class Auto {
  private int benzin = 50;

  void Do() {
    this.benzin -= 10;
  }
}

Auto skoda = new Auto();
skoda.Do();

Se ve skutečnosti přeloží "pro počítač" jako

  void Do(Auto this) {
    this.benzin -= 10;
  }


Auto skoda = new Auto();
 Do(skoda);

Ve skutečnosti jsou nestaticke metody tridy implementovany tak, ze je tam skrytý parametru (to je ten THIS). Kdyz se volaji (ty je volas jako skoda.Do()) tak se proste zavolá "funkce" a jako první parametr se tam přidá odkaz na instanci (skoda).

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
17.9.2017 20:04
Totalitní admini..
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.