Įdėtos „Java“ klasės

Turinys
Kartais mūsų programa įgauna didesnius matmenis tiek dydžiu, tiek sudėtingumu, ypač jei dirbame a orientuotas į renginį, todėl užuot kūrę klases atskirai, galime sukurti lizdines klases.
The lizdinės klasės Jie leidžia mums apibrėžti vieną klasę kitoje, tokiu būdu mes galime pasiekti klasės informaciją, kurioje ji yra, ir mes galime patenkinti reikalavimus paprasčiau, nesukurdami nepriklausomų struktūrų.
Įdėtos klasėsA įdėta klasė yra klasė, apibrėžta kitos klasės taikymo sferoje arba apimtyje, tai yra, klasėje, kurioje ji bus, tai reiškia, kad vietoj to, kad vidinėje klasėje būtų galima parodyti išorinės klasės objektą, kad būtų galima naudoti jo atributus ir metodai, kuriuos galime padaryti tiesiogiai nuo tada yra jums pasiekiama.
Turime būti atsargūs, kad nepainiotume to su atskiromis klasėmis tame pačiame faile, nes tai yra visiškai kitokia sąvoka, šiuo atveju mes kalbame apie vieną klasę kitoje, o ne apie tai, kad jie dalijasi failu, pažiūrėkime, kuo skiriasi abu apibrėžimai.

Paveikslėlyje viršutinėje dalyje matome, kaip tos pačios bylos klasės yra viena ant kitos, bet apatinėje dalyje matome, kaip įdėta klasė yra kitos klasės apibrėžime, šis skirtumas atrodo akivaizdus, ​​tačiau Gera išsiaiškinti, kad ateityje nekiltų problemų.
1- A. įdėta klasė yra sukompiliuota į klasę, kurioje ji yra, tai sukuria failą .klasė su stiliaus pavadinimų deriniu ClassExternal $ ClassNested.class, jei sekame paveikslėlyje pateiktą pavyzdį, pavadinimas būtų $ Nested.class testas.
2- A. įdėta klasė Galite naudoti klasės nuorodas ir metodus, kuriuose ji yra, ir nereikia daryti naujos egzemplioriaus, todėl galime šiek tiek supaprastinti savo programos turinį, ypač dirbdami su orientacija į renginį, pažiūrėkime šiame paveikslėlyje, kaip tai išreiškiama:

3- The įdėta klasė gali turėti įtakos matomumo modifikatoriai ir prisiimti jų charakteristikas, be to, tai taip pat gali būti deklaruojama kaip statinistačiau, jei atliksime pastarąjį, galėsime pasiekti tik metodus statinis klasės, kurioje jis yra.
4- Nors tai yra įterptosios klasės, tai gali būti kitų klasių, išskyrus tas, kuriose jos yra, pavyzdžiai, todėl galite naudoti šią formą:
ExternalClass.NestedClassNestedClassObject = ExternalClassObject.newNested Class ();

Jei mūsų įdėta klasė yra tipo statinis tada turime naudoti šią formą:
Išorinė klasė. NestedClass nestedClassObject = naujas OuterClass.NestedClass ();

Baigę šį vadovėlį, pamatėme, kaip galime sukurti lizdinės klasės ir sintaksė, susijusi su šia kalbos savybe, šio darbo metodo naudingumas yra tas, kad mes galime sujungti priklausomas klases į vieną didelę klasę, taip sumažiname failų skaičių ir šaltinio kodą, todėl turime daugiau mes kontroliuojame savo taikymą ir palengviname savo kūrėjų komandos gyvenimą, turėdami viską, kas susiję toje pačioje klasėje.
wave wave wave wave wave