Új hozzászólás Aktív témák
-
Lacces
őstag
Hali!
Köszönöm a válaszokat! Athlon64+, Davs

Most jövők elméleti / gyakorlati kérdésekkel, majd. Leporoltam a Java könyveket, és erősen Java hivő lettem
![;]](//cdn.rios.hu/dl/s/v1.gif)
A beágyazott osztályok, még odébb vannak, de ha ott tartuk, feltétlenül szólok!
Classloader-t nem ismerem, feliírtam magamnak, az általában melyik nagyobb témakörrel együtt szerepel? Beágyazott osztályoknál? Nekem még ez új volt.
Mindenképp utánaolvasok majd 
Ezt jó volt megjegyezni, hogy a static osztály, csak belső lehet.
Akkor viszont, jöjjön a kérdés:
"Mivel azonban a nested classod privát, ezért kívülről egyébként sem férhetsz hozzá az osztályhoz, így az adattagokhoz sem, csak és kizárólag a tartalmazó osztályból."
1.
- Miért fér hozzá a tartalmozó osztály? Hiszen ha a belső osztály privát, akkor elméletben nem férek hozzá. De mégis hozzáfér az őt tartalmazó osztály? Miért?
Például van az A osztáy privát, a B osztály public, akkor az A hozzáfér a B osztály tagfüggvényeihez/adattagjaihoz, de a B nem férhet hozzá az A-hoz.2.
- Milyen gyakorlati haszna van, és mikor érdemes belső static osztályt használni a sima osztály helyet?3.
- Ősosztály példánya hajthat-e végre, az alosztály példányán műveleteket, ha az privát láthatóságú.
Példa.: Ez így lehet nem állja meg a helyét, meg én Interfésszel valósítanám meg, de elméleti kérdés... Legyen adott egy publikus Állat ősosztály, itt van például az ugat() metódus. És van a publikus Kutya és a privát Farkas alosztály.
Legyen egy függvény az állatban: hajtóvadászat(Állat állatPéldány) néven, amely meghívja az állat példányhoz tartozó ugat() metódust.
Ha ezt a hajtóvadászat(Állat állatPéldány) függvényt meghívom úgy, hogy a paraméterben egyszer a Kutya osztály egy példánya van, akkor azon az ugat()-ot végre tudja hajtani, de ha Farkas osztály egy példányánál már nem tudja meghívni az ugat() fv-t igaz? Gondolom ilyenkor a JVM RuntimeException-t kéne dobnia.4.a
Ha egy ősosztály privát (és vele együtt, minden adattag, és tagfv.), és rendelkezik alosztállyal, akkor a fordító automatikusan legenerálja az alosztály számára is a privát adattagokat/tagfv-t?
4.b
Vagy az ősosztály protected/privát, és van benne 1 privát adattag. Akkor az alosztály is megkap minden egyes adattagot, még a privát-ot is, csak annyi a különbség, hogy nem fér hozzá az ősosztály ezen privát adattagjához.
Pl: Állatnak van a privát futás(), és van a publikus Farkas alosztály, akkor a farkas példányának is van futás() nevű fv-e, igaz?
De akkor megint itt jön a helyetesíthetőség elve, hogy ha Egy Feldolgozó osztályban (Például egy függvényt, amely paraméterben egy állat osztályt vár)meghívom az Állat osztály egy állat nevű példányát, akkor a futás() fv-hez nem férek hozzá. És ha az állat példány helyett egy farkas példányt hívok meg, akkor annak a futás()-a meghívható...
Nem tudom, hogy mennyire voltam érthető...5.
Akkor ha egy osztály publikus vagy privát, és az adattagjainál nincs külön feltüntetve, hogy milyen láthatóságú, akkor automatikusa az osztály láthatóságát kapják meg, igaz?
arn: http://nagygusztav.hu/java-programozas -ez az előbb említett fórumtárs által javasolt könyv, egy sokkal rövidebb és magyarosított változata.(néha van egy olyan érzésem, hogy csak egy fordító progi lett ráeresztve az eredeti könyvre...) A Thinking in Java könyv, tényleg nem rossz, de én félbe hagytam anno. De nagyon részletes, és még Design Pattern példák is vannak benne!
-
modder
aktív tag
A lényeget kihagytam: static nested class az egy teljesen hagyományos osztály. Akkor használják, ha bizonyos adattagok, feladatok egy osztályon belül is logikailag jól körülhatárolhatóak és csoportosíthatóak.
Vagy, mint a te esetedben is, egy osztály cask egyetlen másik osztály számára hasznos.Davs
Az csak útvonalat jelöl, mint a package név, de elképzelhető, hogy nem működik úgy, ahogy én írtam, nem teszteltemAthlon64+
jó, nem tudom, nem értek hozzá
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- REFURBISHED és ÚJ - Lenovo ThinkPad 40AS USB-C Dock Gen2 (akár 3x4K felbontás)
- LG 27UP850K-W - 27" IPS LED - 3840x2160 4K - DisplayHDR 400 - USB Type-C - AMD FreeSync
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9800X3D 32/64GB RAM RTX 5070Ti 16GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone i5 12400F 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
- 182 - Lenovo Legion 5 (15IRX10) - Intel Core i9-14900HX, RTX 5070 (ELKELT)
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi

![;]](http://cdn.rios.hu/dl/s/v1.gif)


