- Külföldi prepaid SIM-ek itthon
- Apple Watch
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Xiaomi 15T Pro - a téma nincs lezárva
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Samsung Galaxy Watch7 - kötelező kör
- Jolla és SailfishOS tapasztalatcsere
- iPhone topik
- Milyen okostelefont vegyek?
- Nintendo DS-sel pózol egy OnePlus
Ú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?:))
- Kínai és egyéb olcsó órák topikja
- A hardverek is kokárdát tűznek a hétvégén
- Szintet lépett "lopakodó" alaplap készül a Colorful műhelyében
- gban: Ingyen kellene, de tegnapra
- Androidos tablet topic
- Formula-1
- Külföldi prepaid SIM-ek itthon
- Kész rémálom lesz Linuxot használni jövőre az USA egyes államaiban
- Eredeti játékok OFF topik
- Spórolós topik
- További aktív témák...
- Dell G15 5511 i7-11800H / RTX 3050 Ti 4GB / 16GB RAM / 512GB NVMe 15,6" FHD 120Hz WVA
- Eladó Apple iPhone 11 128GB piros (PRODUCT RED) színben
- Samsung Galaxy S25 512GB HIBÁTLAN!ÚJSZERŰ!Kártyafüggetlen
- Iphone 13 White 128Gb újszerű állapot, független
- Apple MacBook Air 2025 13.6" M4 10C/8C - 256 SSD - 16GB RAM - 3 ÉV GARANCIA
- MacBook Air 15" (M3, 8 GB RAM, 512 GB SSD)
- BESZÁMÍTÁS! Gigabyte Z390 i7 9700K 16GB DDR4 512GB SSD RX 6600 8GB Rampage SHIVA FSP 550W
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 32/64GB RAM RX 9060 XT 16GB GAMER PC termékbeszámítással
- GYÖNYÖRŰ iPhone 13 Pro 128GB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS4675, 100% AKKSI
- Telefon felvásárlás!! Samsung Galaxy A12/Samsung Galaxy A22/Samsung Galaxy A32/Samsung Galaxy A52
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


) nincs ilyen változó!

