niestety, nie wiem gdzie to this ma być. Nie rozumiem do końca wstępu/lekcji :/ Pomóżcie plis
THIS
Dyskutowane
Komentarze (3)
- Popularne
- Najnowsze
- Najstarsze
Musisz się zalogować, aby dodać komentarz
Jacek
15 grudnia 2019, 19:06
"this" wewnątrz klasy oznacza "ten, bieżący obiekt". Mając np klasę:
public static class Osoba {
public int wiek = 20;
public void dostosujWiek(int wiek) {
this.wiek = wiek + 20;
System.out.println("Wiek w dostosujWiek() to " + wiek);
}
}
tworzysz później obiekty:
Osoba osoba1 = new Osoba();
Osoba osoba2 = new Osoba();
to "this.wiek" w obiekcie osoba1 oznacza osoba1.wiek (czyli właściwość "wiek" obiektu osoba1),
a "this.wiek" w obiekcie osoba2 oznacza osoba2.wiek (czyli właściwość "wiek" obiektu osoba2).
Pisząc klasę najczęściej nie wiesz ile obiektów danej klasy powstanie...
+3
Anna
15 grudnia 2019, 19:29
Dziękuję :) a czy wyszłoby na to samo gdybym zrobiła to this w konstruktorze?
public Osoba(){
this.wiek=wiek;
}
czy to w tym przypadku by nie zadziałało?
0
Jacek
15 grudnia 2019, 19:34
Tak, jeśli odwołasz się w konstruktorze do właściwości obiektu przez "this" to też zadziała. Ale pamiętaj że konstruktor jest wywoływany w momencie powoływania do życia obiektu.
Ale oczywiście konstruktor musiałby wyglądac np tak:
public Osoba(int wiek){
this.wiek=wiek;
}
0