Hirdetés
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Apple MacBook
- AMD FX
- Kormányok / autós szimulátorok topikja
- E-book olvasók
- Noctua+Asetek: egyre közelebb a Noctua első vízhűtése
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Mit rejt a telefonod? – A tranzisztorok elképesztő világa
- Vezeték nélküli fejhallgatók
Új hozzászólás Aktív témák
-
Peter Kiss
őstag
Ha valami nincs ellátva static kulcsszóval, akkor az instance-hoz kötődik, és még most szólok, Java-ban egyáltalán nincs static ctor. Ennek az osztálynak minden eleme "package" hozzáférésű, csak rájuk van húzva a private a class miatt, ami pontosan annyira redukálja a hozzáférhetőségét, amennyire mutatja magát (ami a class-t használhatja, az használ mindent, itt semmi se látja ezt az osztályt).
-
modder
aktív tag
Heló,
nem
![;]](//cdn.rios.hu/dl/s/v1.gif)
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
-
Lacces
őstag
Jó, mondjuk ez egy belső statikus osztály...
De nem is tudom... most elgondolkoztam. Mert statikus konstruktor nem lehet, ahhoz static{...}-ot használná, és statikus tagfüggvény csak statikus változókat kezelhet. Ott pedig a this kulcsszó szerepel, amely példányváltozóra mutat...
Hm, most belezavarodtam.
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Autós topik
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- Allegro vélemények - tapasztalatok
- Milyen okostelefont vegyek?
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Formula-1
- One otthoni szolgáltatások (TV, internet, telefon)
- Apple MacBook
- Luck Dragon: Óraátállítás
- 50 év után kilőtt négy űrhajós a Holdra
- További aktív témák...
- Xiaomi Redmi Note 8 Pro 64GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 12 64GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 13 Pro Max 128GB, Kártyafüggetlen, 1 Év Garanciával
- LG SN8Y 5.1.2 Dolby Atmos soundbar MERIDIAN technológiával hangprojektor
- Apple iPhone 13 128GB, Kártyafüggetlen, 1 Év Garanciával
- 236 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4090
- ADATA XPG SPECTRIX S40G 4TB M.2 PCIe (AS40G-4TT-C) (ELKELT)
- Xiaomi 15T Pro 512GB, Kártyafüggetlen, 1 Év Garanciával
- Akciós Windows 10 pro + Office 2019 professional plus csomag AZONNALI SZÁLLÍTÁS
- KERESEK: Poly Voyager 4320 M UC USB-C 218478-02M Part number: 77Z30AA
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
![;]](http://cdn.rios.hu/dl/s/v1.gif)

