Kuinka toteuttaa sisäkkäinen luokka Java-ohjelmassa?



Tämä jaavan sisäkkäisiä luokkia käsittelevä artikkeli auttaa sinua ymmärtämään sisäkkäisten luokkien toteuttamisen esimerkkiohjelman avulla.

Java-tilassa luokka voidaan määritellä toisessa luokassa, ja sellaiset luokat tunnetaan sisäkkäisinä luokkina. Nämä luokat auttavat sinua loogisesti ryhmittelemään luokat, joita käytetään vain yhdessä paikassa. Tämä lisää kapseloinnin käyttöä ja luo helpommin luettavissa olevan ja ylläpidettävän koodin. Tämä blogi aiheesta ”Sisäänrakennettu Java-luokka” antaa sinulle nopean ohjeistuksen sisäkkäisiin luokkiin . Alla ovat tämän blogin aiheet:

Sisäkkäinen luokka Java-kielellä

luokassa luokan sisällä kirjoitettua kutsutaan sisäkkäisiksi luokiksi, kun taas luokkaa, jolla on sisempi luokka, kutsutaan ulkoiseksi luokaksi. Alla on joitain muistettavia kohtia Java-sisäkkäisten luokkien suhteen -





  • Sisäkkäisen luokan laajuutta rajoittaa sen sulkeva luokka.
  • Sisäkkäisellä luokalla on pääsy sen luokan jäseniin, johon se on sisäkkäin. Suljettu luokka ei kuitenkaan voi käyttää sisäkkäisen luokan jäseniä.
  • Sisäkkäinen luokka on sen sulkeva luokan jäsen.
  • Sisäkkäinen luokka voidaan julistaa julkiseksi, yksityiseksi, suojatuksi tai paketti-yksityiseksi.

Sisäkkäisten luokkien tyypit

Sisäinen / ei-staattinen sisäkkäinen luokka: Java-tilassa ei-staattiset luokat ovat suojausmekanismi. Luokkaa ei voida yhdistää ryhmään käyttää muokkausta yksityinen, mutta jos luokka on toisen luokan jäsen, ei-staattinen luokka voidaan tehdä yksityiseksi.

Sisäluokkien tyypit ja miinus



  • Sisäluokka
  • Method-local Sisäluokka
  • Nimetön sisäinen luokka

Sisäluokka

Sisäisen luokan luomiseksi sinun tarvitsee vain kirjoittaa kurssi luokan sisällä. Sisäinen luokka voi olla yksityinen, johon ei voi päästä esine luokan ulkopuolella. Alla on ohjelma sisäisen luokan luomiseksi. Tässä esimerkissä sisempi luokka tehdään yksityiseksi ja siihen pääsee luokkaan menetelmän avulla.

python __init__ -luokka
class Outer_Test {int num // sisäisen luokan yksityinen luokka Inner_Test {public void print () {System.out.println ('This is an Our Internal class')}}} // Sisäisen luokan käyttäminen menetelmällä void display_Inner () { Inner_Test internal = new Inner_Test () inner.print ()}} public class My_class {public static void main (String args []) {// Ulkoluokan instantoiminen Outer_Test external = new Outer_Test () // Display_Inner () -menetelmän käyttö . external.display_Inner ()}}

Tuotos
Sisäkkäinen luokan sisempi- Edureka

Method-local Sisäluokka

Java-luokassa luokka voidaan kirjoittaa a: n sisällä ja se on paikallista tyyppiä. Samoin kuin paikalliset muuttujat, sisäisen luokan soveltamisala on rajoitettu menetelmän sisällä. Menetelmä-paikallinen sisäinen luokka sisällytetään vain menetelmään, jossa sisempi luokka on määritelty. Alla olevassa ohjelmassa kerrotaan, miten menetelmälokista sisäistä luokkaa käytetään.



public class Outerclass {// ulomman luokan instanssimenetelmä void my_Method () {int num = 1001 // method-local internal class class StarInner_Test {public void print () {System.out.println ('This is star internal class' + num)}} // sisäisen luokan loppu // Sisäisen luokan käyttäminen StarInner_Test star = new StarInner_Test () star.print ()} public static void main (String args []) {Outerclass external = new Outerclass () external. oma_metodi ()}}

Tuotos

Nimetön sisäinen luokka

Anonyymi sisempi luokka on sisempi luokka, joka on ilmoitettu ilman luokan nimeä. Anonyymissä sisäisessä luokassa julistamme ja välitämme sen samanaikaisesti. Niitä käytetään yleensä, kun sinun on ohitettava luokan tai käyttöliittymän menetelmä. Alla olevassa ohjelmassa kerrotaan, miten anonyymiä sisäistä luokkaa käytetään -

abstrakti luokka AnonymousInnerTest {public abstract void mytest ()} public class Outer_class {public static void main (String args []) {AnonymousInnerTest internal = new AnonymousInnerTest () {public void mytest () {System.out.println ('Tämä on esimerkki nimettömästä sisäisestä testiluokasta ')}} sisempi.testi ()}}

Tuotos-

Staattinen sisäkkäinen luokka: TO on sisäkkäinen luokka, joka on staattinen jäsen ulommassa luokassa. Toisin kuin sisempi luokka, staattinen sisäkkäinen luokka ei voi käyttää ulomman luokan jäsenmuuttujia, koska staattinen sisäkkäinen luokka ei vaadi ulomman luokan esiintymää. Siksi OuterClassilla ei ole viittausta ulompaan luokkaan. Tämä. Staattisen sisäkkäisen luokan syntaksi on -

luokka MyOuter {staattinen luokka Sisäkkäin_Testi {}}

Esimerkki staattisesta sisäkkäisestä luokasta

public class Outer {staattinen luokka Sisäkkäin_Test {public void my_method () {System.out.println ('Tämä on Edurekan sisäkkäinen testiluokka')}} public static void main (String args []) {Outer.Nested_Test nested = new Outer. Sisäkkäin_testi () sisäkkäin.my_method ()}}

Tuotos

mitä eroa javascriptin ja jqueryn välillä on

Staattisten ja ei-staattisten sisäkkäisten luokkien välinen ero

Staattisilla sisäkkäisillä luokilla ei ole suoraa pääsyä muihin sulkevan luokan jäseniin. Koska se on staattinen, sen on päästävä käyttämään sulkevan luokan ei-staattisia jäseniä objektin kautta, mikä tarkoittaa, että se ei voi viitata suoraan sulkevan luokan ei-staattisiin jäseniin. Tämän rajoituksen takia staattisia sisäkkäisiä luokkia käytetään harvoin.

Ei-staattisilla sisäkkäisillä luokilla on pääsy kaikkiin sen ulkoluokan jäseniin, ja he voivat viitata niihin suoraan samalla tavalla kuin muilla ulkoluokan staattisilla jäsenillä.

Ennen kuin tulemme tämän artikkelin loppuun, tarkastellaan muutamia keskeisiä kohtia.

Avainkohtia muistaa

  • Sisempää luokkaa pidetään luokan tavallisena jäsenenä.
  • Koska sisempi luokka on ulkoisen luokan jäseniä, voit käyttää sisäiseen luokkaasi erilaisia ​​pääsymuuttujia, kuten suojattuja, yksityisiä.
  • Koska sisäkkäinen luokka on sen sulkeutuvan luokan jäsen, voit käyttää sitä. (dot) merkintä sisäkkäisen luokan ja sen jäsenten käyttämiseksi.
  • Sisäkkäisen luokan käyttäminen tekee koodistasi luettavamman ja paremman kapselointi .
  • Sisemmällä luokalla on pääsy muihin ulkoluokan jäseniin, vaikka heidät julistettaisiin yksityisiksi.

Tämän myötä olemme päässeet tämän blogin loppuun Java-sisäkkäisillä luokilla. Jos haluat oppia lisää Javasta, tutustu Edureka, luotettava verkko-oppimisyritys, jolla on yli 250 000 tyytyväisen oppijan verkosto, joka levisi ympäri maailmaa. Edurekan Java J2EE- ja SOA-koulutus- ja sertifiointikurssi on suunniteltu opiskelijoille ja ammattilaisille, jotka haluavat olla Java-kehittäjiä. Kurssi on suunniteltu antamaan sinulle etumatka Java-ohjelmointiin ja kouluttamaan sekä ydin- että edistyneitä Java-konsepteja sekä erilaisia ​​Java-kehyksiä, kuten Hibernate & Spring.

Onko sinulla kysymys meille? Mainitse se tämän Nested Class in Java -blogin kommenttiosassa, niin otamme sinuun yhteyttä mahdollisimman pian.