Hirdetés
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Amlogic S905, S912 processzoros készülékek
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen joysticket vegyek?
- Hard Disk Sentinel: S.M.A.R.T., okosan
- Házimozi haladó szinten
- Milyen monitort vegyek?
- A legrosszabb CPU-k – az ExtremeTech szerint
- Nem indul és mi a baja a gépemnek topik
Ú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?:))
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Energiaital topic
- Arc Raiders
- Genshin Impact (PC, PS4, Android, iOS)
- Napelem
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Víz- gáz- és fűtésszerelés
- Amlogic S905, S912 processzoros készülékek
- További aktív témák...
- ÚJ ASUS Vivobook 15 X1504 - 15.6"FHD IPS - i5-1335U - 16GB - 1TB - Win11 - 3 év garancia - MAGYAR
- Apple iPhone 14 Pro Max 128GB, Kártyafüggetlen, 1 Év Garanciával
- Samsung Galaxy A36 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- Gamer PC i5-7500 / 8GB RAM / 750W EVGA / XFX Radeon HD 7950 3GB Double Dissipation Black Edition
- AMD PC , Ultra 225 , RX 6600 XT , 16GB DDR5 , 512GB NVME , 2TB HDD
- HIBÁTLAN iPhone 13 128GB Midnight-1 ÉV GARANCIA - Kártyafüggetlen, MS4219,100% Akksi
- Dell Latitude Core i5 - i7 - 6-7-8-10-11-12-13. gen. üzleti kategóriás notebookok számlával
- HIBÁTLAN iPhone 14 Pro 128GB Deep Purple-1 ÉV GARANCIA - Kártyafüggetlen, MS4125
- HP 200W töltők (19.5V 10.3A) kis kék, kerek, 4.5x3.0mm, 928429-002
- Google Pixel 10 Pro 5G Porcelain AI-fotó varázs, Super Actua 120 Hz 128 GB
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

) nincs ilyen változó!


