Új hozzászólás Aktív témák
-
modder
aktív tag
Heló,
nem
A "nested class-od" adattagjainak láthatósága alapértelmezetten package.
remélem tudod, hogy a static class csak belső osztályként jöhet létre (nested class), és nem azt jelenti, hogy ez egy singleton.
statikus nem a láthatóságra vonatkozik, hanem hogy az adott tag (metódus vagy mező) nem objektum példányhoz, hanem osztály példányhoz tartozik.
Kicsit több tudást igénylő példa, de ugyanazon nevű osztályból (package nevet is beleértve) szélsőséges esetben több példány is létezhet egy jvm-en belül (egy futtatás alatt), ha azok különböző classloaderekkel lettek betölve. (most nem objektum példányról beszélek, az egyértelmű, hogy egy osztálynak több példánya is lehet) -- A java classloaderek kicsit hasonlítanak a PHP-s auto-load classloaderekhez.
az osztálytagok (metódus vagy mező) alapértelmezett láthatósága a package. Így ebben az esetben is. 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.
Tehát az Elem osztályod tagjaihoz csak a tartalmazó osztályból férhetsz hozzá, tulajdonképpen magához az osztályhoz is.
Lehet egy nested class nem statikus is
Ha a belső osztályod nem static, akkor egyértelműen hozzá van kötve az őt tartalmazó osztály egy példányához. Példányosítani kicsit furcsa szintaxissal kell:
KulsoOsztaly.BelsoOsztaly belsoPeldany =
kulsoOsztalyPeldany.new KulsoOsztaly.BelsoOsztaly();belső osztályból a tartalmazó külső osztálypéldányra hivatkozni pedig:
KulsoOsztaly tartalmazoOsztalyPeldany = KulsoOsztaly.this;http://docs.oracle.com/javase/tutorial/java/javaOO/innerclasses.html nézd meg a példakódot
[ Szerkesztve ]
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Ukrajnai háború
- VR topik (Oculus Rift, stb.)
- Hálózati / IP kamera
- Mit tehetsz jogilag, ha átvertek, megkárosítottak a Hardveraprón?
- Medence topik
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- bambano: Bambanő háza tája
- Samsung Galaxy Felhasználók OFF topicja
- Counter-Strike: Global Offensive (CS:GO) / Counter-Strike 2 (CS2)
- Call of Duty: Warzone
- További aktív témák...
- Eladó bontatlan AMD Ryzen 7 7800X3D processzor
- Új bontatlan Sandisk Ultra 3d SSD 4TB és Samsung 2.5 870 Evo 500GB SATA3 (MZ-77E500B)
- AkciÓ ÚJ Bontatlan MacBook Pro 16 M3 Pro 12CPU/18GPU 18GB/512GB SSD Magyar bill Azonnal átvehető.
- ÉRKEZETT Bontatlan Új M2 M4 IPAD PRO 2022 11 128GB - 256GB Wi-Fi Azonnal Deák Térnél Átvehető.
- DeLL Precision 7740 workstation, üzletből, I7-9850H/32RAM/512GBSSD/NVIDIA QuadroRTX3000/17,3"FULLHD