This()
- Teuzz
- Středně pokročilý

- Registrován: 25. zář 2004
- Bydliště: Liberec, Praha
- Kontaktovat uživatele:
Re: This()
pokud v tom píšeš Javu, snad by měla být odpověď nijak.
Alespoň v C# a C++ je konstruktor věc, která "se volá" při vytvoření instance třídy (až dojdeš k dědičnosti a virtuálním metodám, zjistíš, že lžu) tzn. ve chvíli, kdy někde voláš new mojeTrida() a volá se zvenčí.
Alespoň v C# a C++ je konstruktor věc, která "se volá" při vytvoření instance třídy (až dojdeš k dědičnosti a virtuálním metodám, zjistíš, že lžu) tzn. ve chvíli, kdy někde voláš new mojeTrida() a volá se zvenčí.
Burn in hell.
- wokena
- Nováček

-
- Registrován: 18. pro 2007
Re: This()
Jo,v C taky dělám,ale konstruktor v java je nejenom metoda,ktera se vola pri vytvoreni instance,ale muzes ji pouzivat i jako normalni metodu.
- k23
- Začátečník

-
- Registrován: 10. lis 2003
- Bydliště: PHA
Re: This()
Co si představuješ pod this() ? Můžeš to rozvést? Jak bylo řečeno v jiném threadu, this je klíčové slovo a ne metoda.wokena píše:Ahoj,poraďte mi prosím,jak se používá this() na volání konstruktorů,zkoušel jsem to,ale netBeans mi vyhazuje chybu.
Navíc, měl bys pouvažovat nad "NetBeans mi vyhazuje chybu"... ono se totiž dost často hodí vědět, jakou chybu.
- wokena
- Nováček

-
- Registrován: 18. pro 2007
Re: This()
Jo,this není metoda,ale používá se taky na volání konstruktorů (konstruktor je metoda,která se dá použít jednak při vytváření instancí,a jednak ji můžeš využít jako normální metodu).A právě mi NetBeans háže chybu (podtrhnutý this),když se pokouším pomocí this volat konstruktory.Syntaxe je:
Tak nevím,proč mi to NetBeans označuje za chybu,když jsem to opsal přesně z knížky.
P.S.:Jestli chcete screenshoot tak ho uděám.
Kód: Vybrat vše
...
public void metoda() {
this(parametry_konstruktoru);
}
...P.S.:Jestli chcete screenshoot tak ho uděám.
- Reba
- Začátečník

- Registrován: 15. led 2006
- Bydliště: Liberec
- Kontaktovat uživatele:
Re: This()
A nepíše ti to chybu:
"call to this must be first statement in constructor"?
"call to this must be first statement in constructor"?
Gigabyte EX38-DS4 X38, Intel C2D E8400, Corsair 2x1024 MB DDR II 1066 MHz, GigaByte ATI HD3870 512 MB, WD 640 GB, Corsair HX620 620 W, Thermaltake Mambo VC2000, WinVista Home Premium CZ SP1
- wokena
- Nováček

-
- Registrován: 18. pro 2007
Re: This()
Jo,píše-co to znamená ?
- Reba
- Začátečník

- Registrován: 15. led 2006
- Bydliště: Liberec
- Kontaktovat uživatele:
Re: This()
No přijde mi to divný, podle mě by to this() mělo bejt v konstruktoru na prvnim místě, jak je tam psáno a ne v metodě.
Gigabyte EX38-DS4 X38, Intel C2D E8400, Corsair 2x1024 MB DDR II 1066 MHz, GigaByte ATI HD3870 512 MB, WD 640 GB, Corsair HX620 620 W, Thermaltake Mambo VC2000, WinVista Home Premium CZ SP1
- wokena
- Nováček

-
- Registrován: 18. pro 2007
Re: This()
No,co se s tím má dělat?
- Reba
- Začátečník

- Registrován: 15. led 2006
- Bydliště: Liberec
- Kontaktovat uživatele:
Re: This()
No to záleží, co ty chceš udělat.. this() se asi dá zavolat pouze v konstruktoru na prvním místě, což je něco jako super() při dědičnosti, když voláme konstruktor předka. Potřebuješ s tim něco konkrétního?
Gigabyte EX38-DS4 X38, Intel C2D E8400, Corsair 2x1024 MB DDR II 1066 MHz, GigaByte ATI HD3870 512 MB, WD 640 GB, Corsair HX620 620 W, Thermaltake Mambo VC2000, WinVista Home Premium CZ SP1
- wokena
- Nováček

-
- Registrován: 18. pro 2007
Re: This()
Takže this je opak super(u dědičnosti),a naopak,že?
- Trek
- Začátečník

- Registrován: 16. kvě 2008
Re: This()
super vola metodu predka
this vola metodu aktualniho objektu
pokud z konstruktoru volas jinej konstruktor musi to this bejt jako
prvni z logickych duvodu
co je na tom nejasnyho
v C++ je to osetreny, ze to pises hned za zavorkama a dvouteckou, takze tam tohle lamereni odpada
this vola metodu aktualniho objektu
pokud z konstruktoru volas jinej konstruktor musi to this bejt jako
prvni z logickych duvodu
co je na tom nejasnyho
v C++ je to osetreny, ze to pises hned za zavorkama a dvouteckou, takze tam tohle lamereni odpada