Hirdetés
- Óriási ugrás: teszten az ASUS Zenbook A16 és a Snapdragon X2
- Bőven 50 gramm alá fogyott a Keychron kétféle borítással kérhető, "karmos" egere
- Ön vezető vagy önvezető? Az Uber az utóbbi mellett voksol
- QHD OLED és extrém frissítés: bemutatkozott a Sony INZONE M10S II
- Bekebelezi az Amazon az Apple műholdas partnerét
- Szünetmentes tápegységek (UPS)
- 5.1, 7.1 és gamer fejhallgatók
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Óriási ugrás: teszten az ASUS Zenbook A16 és a Snapdragon X2
- Kötelező frissítésnek számít a Microsoft legújabb csomagja a Windows 11-hez
- VR topik
- AMD vs. INTEL vs. NVIDIA
- Kormányok / autós szimulátorok topikja
- Milyen TV-t vegyek?
- LG LCD és LED TV-k
Új hozzászólás Aktív témák
-
BaLinux
tag
Nyugodtan

Bár úgy látom, hogy a kérdéseidre kifejtettem már a választ, csak nem pont ezekkel a példákkal... na lássuk:
1. A hiba valóban az, hogy oda kell a static, ugyanis (ahogy már leírtam): tetszőleges osztályban definiált static függvény osztálypéldány nélkül hívható. Ez azt jelenti, hogy nem tud hozzáférni (nem ''látható'' a függvény törzséből) semmilyen nem-static osztályváltozó. A nem-static belső osztályokra ez a szabály azért vonatkozik (tehát nem tud létrehozni olyan belső osztály típusú objektumot), mert a nem-static belső osztályok példányainak alapból rendelkezniük kell referenciával a külső osztályuk (amiben definiáltad a belső osztályt) egy példányára. Méghozzá pontosan arra, amely teremtette őket.
A belső osztály példány referenciája a külsőre úgy néz ki, hogy A.this (ha A a külső osztály neve). Remélem összeállt...
2. két lehetőség: nem kell static a B osztály elé, vagy éppen static kell az int a elé.
A szabály ugyanaz, mint az előbb: mivel a belső osztály statikus, nem kötődik külső oszályhoz, így a belső példány nem is rendelkezik információval (referenciával) az ő bennfoglaló objektumáról, ami ha a staticot eltöröljük, az A osztály egy példánya lenne.
Így a
a = aa;
sorban nem tud hozzáférni az 'a' változóhoz, ugyanis a szimbólumtáblázat látható részében (hogymondják szépen magyarul azt, hogy scope?
) nincs ilyen változó!
Ugye amikor azt írod hogy 'a', ebben az esetben prioritási sorrendben így tud feloldódni a jelentése:
1) lokális blokkban ({ } közötti utasítások) lévő változók
2) szülő blokkban lévők
3) rekurzívan a függvény fejlécig, itt a fgv paraméterek jönnek be
4) osztályváltozók (ez az ami ilyen bonyi szabályokkal írható le, ahogy eddig tettem)
Az utóbbinál az 'a' szimbólum ekvivalens a 'this.a'-val, amennyiben a belső rendelkezik nem-static 'a' nevű változóval; továbbá ekvivalens 'Belsoosztaly.a'-val, ha rendelkezik static 'a' nevű változóval.
Van egy ''5.'' szint, amennyiben egy belső osztályban használt változóról van szó. Ilyenkor az 1-es ponttól oldjuk fel ismét rekurzívan attól a helytől kezdve, ahol az osztályt definiáltad... így lesz az 'a'-ból 'Kulsoosztaly.this.a', ha a belső osztály nem static és a a Kulsoosztaly rendelkezik nem static 'a' változóval, a static szintaxis meg egyenlő a fentivel, tehát a 'Kulsoosztaly.a' static(!) változó mindenhonnan hozzáférhető, akár static, akár nem a belső osztály.
Hmmm... remélem érthető
[Szerkesztve]
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Óvodások homokozója
- Motorola Edge 70 Fusion – stílusosan főznek
- Szünetmentes tápegységek (UPS)
- 5.1, 7.1 és gamer fejhallgatók
- A fociról könnyedén, egy baráti társaságban
- Motoros topic
- Építő/felújító topik
- Formula-1
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Óriási ugrás: teszten az ASUS Zenbook A16 és a Snapdragon X2
- További aktív témák...
- PS5 Slim Digital (CFI-2016) Karcmentes, 1 kontroller
- ASUS ROG Zephyrus G14 Ryzen 9 / RTX 4070 / 32GB / 1 TB SSD 2K 165Hz PRÉMIUM
- Dobozod ÚJ Lenovo LOQ i7 / RTX 4050 / 144Hz / GARANCIA 2027.03.
- Ultra Rampage Mobile Gamer Csomag: Lenovo Legion Duel 2 + egyedi kiegészítők! 512GB EU verziós!
- Asus TUF RX 6900 XT
- Xiaomi Redmi Note 14 Pro 5G Coral Green 512GB használt karcmentes 6 hónap garancia
- TP Link HS100 Távolról vezérelhető Wi-Fi-s dugalj (Smart Plug)
- GeForce RTX 2060 (OEM HP) Garanciával
- ÁRGARANCIA! Épített KomPhone Ultra 9 285K 32/64GB RAM RTX 5070 Ti 16GB GAMER PC termékbeszámítással
- Ritkaság! Csere-Beszámítás! EVGA FTW3 Ultra RTX 3080 10GB GDDR6X Videokártya!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

) nincs ilyen változó!

