[ VukSta @ 30.12.2006. 14:44 ] @
Interesuje me kako i sta zapravo radi ova metoda.Sta vraca kao rezultat?
zasto ovako zapisujemo npr.
public String toString(){
return ("Ime"+ime"Godine:"+godine);
}

sta znace ovi plusevi i sta zapravo dobijamo time.
jel toString moze samo String da vrati kao rezultat,pa preko onih pluseva sve konvertujemo u string?



unapred hvala na pomoci!
[ del-boy @ 30.12.2006. 14:59 ] @
Metoda toString je nasleđena iz klase Object (a svaka klasa koju ti praviš nasleđuje klasu Object) i ona već postoji. Međutim ako ti hoćeš da ona nešto drugo radi (ispisuje tebi koristan sadržaj) moraš je redefinisati. Uvek vraća String, a kakav to zavisi od konkretne metede.

Uglavnom se poziva implicitno (System.out.println(neki_objekat) će pozvati neki_objekat.toString()), pa se uvek pravi jer nikad ne znaš ko će je pozvati (ili jednostavno ostaviš original iz klase Object koja će ispisati memorijsku adresu gde se nalazi instalca klase koju pokušavaš da ispišeš).
[ anon315 @ 30.12.2006. 16:56 ] @
VukSta,

odgovori na skoro sva tvoja pitanja se nalaze u jednom delu tvoga pitanja:

Code:

public String toString(){
return ("Ime"+ime"Godine:"+godine);
}


Sto ce reci, procitaj prvo bilo koju elementarnu knjigu Javi, pre nego sto postavljas ovakva pitanja ;)
[ virtualx @ 03.04.2008. 11:57 ] @
mozel neko meni objasniti ovo:

//Metoda za ispis
public String toString() {
return "Student je: "+Na_Kojoj_Godini;
}
.
.
.
//Metoda za ispis
public String toString() {
return super.toString()+" "+Ime+" "+Prezime;
}


radi se o polomorfizmu i redefinisanje metoda,i ima razlika izmedju ova dva nacina redefinisanja.
u prvom se skroz metoda toString redefinise ,kao da se nanovo pravi, a u drugom slucaju ,uzima se metoda ToString onakva kakva jest uz male modifikacije.
mozeli tko detaljnije ovo da mi objasni, vezano za polomorfizam i preklapanje tostring metode

[ karas @ 03.04.2008. 13:51 ] @
U drugom slučaju pozove toString() iz roditeljske klase (otuda ono super) i doda ime i prezime. Da vraća samo super.toString() ili da metodu u nasleđenoj klasi uopšte ne redefinišeš, imao bi isti efekat.
Šta ti tačno nije tu jasno?