Hirdetés
- Kisebb kivágás, középen kamera: így nézhet ki az iPhone 18 Pro előlapja
- 100 wattos töltést és 27 wattos fordított töltést kap a Redmi Turbo 5 Max
- Másfél millió forintért már haza is vihető a Huawei aranyozott csúcsórája
- Gyártási gondok a BOE-nél: Samsung kaphatja az iPhone 17e kijelzőit is
- Mágneses hordozható töltővel készül a Samsung a Galaxy S26 mellé
- Xiaomi 15T Pro - a téma nincs lezárva
- Ezek a OnePlus 12 és 12R európai árai
- Telekom mobilszolgáltatások
- Gyártási gondok a BOE-nél: Samsung kaphatja az iPhone 17e kijelzőit is
- Fontos frissítés érkezik a OnePlus 13-ra
- Huawei Watch GT 5 Pro - egészség + stílus
- iPhone topik
- Hivatalos a OnePlus 13 startdátuma
- Samsung Galaxy A54 - türelemjáték
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
Ú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?:))
- Motoros topic
- Gumi és felni topik
- Xiaomi 15T Pro - a téma nincs lezárva
- Milyen autót vegyek?
- Gaming notebook topik
- OLED TV topic
- Nagyrobogósok baráti topikja
- Abarth, Alfa Romeo, Fiat, Lancia topik
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- További aktív témák...
- Asztali PC , R5 5500 , RX 6600 , 16GB 3200Mhz , 512GB NVME , 500GB HDD
- Akció! ÚJ akku! Lenovo ThinkPad X1 Extreme Gen2 i7-9850H 32GB 1000GB GTX1650 500nit 4K UHD 1 év gar
- B760 / B660 / Z690 / Z790 ATX alaplapot keresek DDR4-es foglalattal
- Sony Cyber-shot DSC-RX100 IV digitális prémium kompakt fényképezőgép
- Precision 3591 15.6" FHD IPS Ultra 9 185H RTX 2000 Ada 32GB 512GB NVMe gar
- Telefon felvásárlás!! iPhone 15/iPhone 15 Plus/iPhone 15 Pro/iPhone 15 Pro Max
- REFURBISHED - DELL Performance Dock WD19DCS (210-AZBN)
- Újszerű Dell Latitude 5420 - i5 1145 G7 ,16-32GB RAM, SSD, jó akku, számla, 6 hó gar
- Általános igazgatóhelyettes tábla üvegből eladó
- HIBÁTLAN iPhone 14 Pro Max 512GB Silver -1 ÉV GARANCIA - Kártyafüggetlen
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs

) nincs ilyen változó!


