Kezdőoldal » Számítástechnika » Programozás » Miért nem lehet a Java-ban...

Miért nem lehet a Java-ban toString-et túlterhelni?

Figyelt kérdés

@Override

public String toString(){

String eredmeny="Név "+nev+" Kor: "+ kor);

System.out.println(eredmeny);

return eredmeny;

}



-@ jel ott van? Igen.

- Override nagy betűvel van? Igen.

- toString-nek van visszatérése? Igen.


Hibát nem ír ki.


2014. okt. 28. 23:38
 1/10 A kérdező kommentje:

De hiába nézek bármilyen oldalt, nem jó és nem jó és ugyanazt írják.


Akkor rosszul emlékeztem,nem lehet felülírni.

2014. okt. 28. 23:59
 2/10 anonim ***** válasza:
Felül lehet definiálni. Rossz osztályba rakod, vagy nem hívod meg. Vagy a leszármazottban felülírod és nincs hatása az eredetinek.
2014. okt. 29. 00:42
Hasznos számodra ez a válasz?
 3/10 anonim ***** válasza:

String eredmeny="Név "+nev+" Kor: "+ kor);

); az minek?

System.out.println(eredmeny);

Ott a return minek irod ki?

return eredmeny;


Maradjunk annyiban, hogy lehet overrideolni. Nekem is sikerült amíg Java-ban tanultam

2014. okt. 29. 00:48
Hasznos számodra ez a válasz?
 4/10 anonim ***** válasza:

@Override

public String toString(){

String eredmeny="Név "+nev+" Kor: "+ kor);

System.out.println(eredmeny);

return eredmeny;

}

Hát ezzel nem csodálom, hogy nem lehet, mert ez okádék, nem kód.

2014. okt. 29. 08:28
Hasznos számodra ez a válasz?
 5/10 A kérdező kommentje:
És mitől lesz nem okádék?
2014. okt. 29. 11:26
 6/10 anonim ***** válasza:

1) Használj StringBuildert.

2) Az a ) mit keres a végén?

3) Itt kiíratni tényleg felesleges.

String eredmeny="Név "+nev+" Kor: "+ kor);

2014. okt. 29. 12:02
Hasznos számodra ez a válasz?
 7/10 anonim ***** válasza:

StringBuildert? Persze, ha iterál. Itt ilyen nincs. Cserébe attól jó olvashatatlan lesz a kód, és nem mellesleg 1.6-tól a fordító automatikusan kioptimalizálja (internally StringBuilderre fordítja) a sztringek konkatenációját. Lehet, hogy jó tanácsnak szántad, de jelen helyzetben nem sokat ér.


A kedves kérdezőnek pedig felhívnám a figyelmét, hogy a túlterhelés (overloading) nem ugyanaz, mint a felülírás (override).

Emellett jelezném, hogy a toString metódus nem arra van, hogy a felhasználó számára megjelenített formátumot kialakítsa. Ajánlott olvasmány: MVC / MVP pattern


A toString egyébként ugyanúgy Override-olható (és overloadolható, bár ez értelmetlen), mint bármely más metódus. Vagy nem is fordul a kód (valószínűleg amiatt a felesleges zárójel miatt), vagy nincs meghívva az a toString. Az a System.out.println meg tényleg nem való oda.

2014. okt. 29. 15:16
Hasznos számodra ez a válasz?
 8/10 anonim ***** válasza:

"-@ jel ott van? Igen.

- Override nagy betűvel van? Igen.

- toString-nek van visszatérése? Igen."


Az annotáció nem szükséges, csak nagyon ajánlott, attól még működhet.

A toString-nek van visszatérése, méghozzá String, úgyhogy ez is jó.

A láthatósága public, az is jó.

Nincs paramétere, az is jó.


Végezetül: ezekért mind szólna a compiler amúgy is (ha odateszed az override-ot), szóval ez így jó.

2014. okt. 29. 18:48
Hasznos számodra ez a válasz?
 9/10 A kérdező kommentje:

Köszi a válaszokat. :)


Az mindegy,mennyire szokás a toString-e felhasználó számára kialakítani, ha az van a zh-ban egy feladatként.

2014. okt. 29. 20:43
 10/10 anonim ***** válasza:
Jaaa hogy egyetemi szemét... Akkor írd meg a ZH-t, és csak annyit jegyezz meg, hogy ezt még véletlenül se tanuld el... ;)
2014. okt. 30. 11:11
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!