Kako implementirati ugniježđenu klasu u Javi?



Ovaj članak o ugniježđenim klasama u javi pomoći će vam da razumijete kako implementirati ugniježđene klase uz pomoć primjera programa.

U Javi se klasa može definirati u drugoj klasi i takve su klase poznate kao ugniježđene klase. Ovi ti predmeti pomažu u logičnom grupiranju predavanja koja se koriste samo na jednom mjestu. To povećava upotrebu enkapsulacije i stvara čitljiviji i održiviji kôd. Ovaj blog na temu „Ugnježdeni razredi na Javi“ pružit će vam brz i precizan uvod u ugniježđene razrede u . Ispod su teme obrađene na ovom blogu:

Ugnježđena klasa u Javi

The razred napisano unutar klase naziva se ugniježđena klasa, dok se klasa koja sadrži unutarnju klasu naziva vanjska klasa. Ispod je nekoliko točaka koje treba zapamtiti za ugniježđene razrede u Javi -





  • Opseg ugniježđene klase ograničen je njenom zatvaračkom klasom.
  • Ugniježđena klasa ima pristup članovima klase u kojoj je ugniježđena. Ali, klasa koja zatvara ne može pristupiti članovima ugniježđene klase.
  • Ugniježđena klasa je njen član klase koji obuhvaća.
  • Ugniježđena klasa može se proglasiti javnom, privatnom, zaštićenom ili privatno-paketnom.

Vrste ugniježđenih klasa

Unutarnja / nestatična ugniježđena klasa: U Javi su ne-statičke klase sigurnosni mehanizam. Klasa se ne može povezati s pristup uređivanju private, ali ako imate klasu kao člana druge klase, onda se ne-statička klasa može učiniti privatnom.

Vrste unutarnjih klasa & minus



  • Unutarnja klasa
  • Metoda-lokalni Unutarnja klasa
  • Anonimni unutarnji razred

Unutarnja klasa

Da biste stvorili unutarnji razred, samo trebate napisati razred unutar razreda. Unutarnja klasa može biti privatna kojoj nije moguće pristupiti s objekt izvan razreda. Ispod je program za stvaranje unutarnjeg razreda. U ovom primjeru, unutarnja klasa postaje privatna i njoj se pristupa putem metode.

class Outer_Test {int num // unutarnja klasa private class Inner_Test {public void print () {System.out.println ('Ovo je naša unutarnja klasa')}}} // Pristup unutarnjoj klasi iz metode void display_Inner () { Inner_Test inner = new Inner_Test () inner.print ()}} javna klasa My_class {public static void main (String args []) {// Instantiranje vanjske klase Outer_Test external = new Outer_Test () // Pristup metodi display_Inner () . external.display_Inner ()}}

Izlaz
Ugniježđena klasa unutarnja- Edureka

postavljanje php-a na Windowsima

Metoda-lokalni Unutarnja klasa

U Javi se klasa može napisati unutar i to je lokalni tip. Slično lokalnim varijablama, opseg unutarnje klase ograničen je unutar metode. Unutarnja klasa s lokalnom metodom ugrađena je samo unutar metode gdje je unutarnja klasa definirana. Program u nastavku pokazuje kako se koristi unutarnja klasa koja se temelji na metodi.



javna klasa Outerclass {// instanca metoda vanjske klase void my_Method () {int num = 1001 // metoda-lokalna klasa klase StarInner_Test {public void print () {System.out.println ('Ovo je zvjezdasta unutarnja klasa' + num)}} // kraj unutarnje klase // Pristup unutarnjoj klasi StarInner_Test star = new StarInner_Test () star.print ()} public static void main (String args []) {Outerclass external = new Outerclass () external. moja_metoda ()}}

Izlaz

lijevanje tipa podataka u javi

Anonimni unutarnji razred

Anonimna unutarnja klasa je unutarnja klasa deklarirana bez naziva klase. U anonimnoj unutarnjoj klasi, mi to istovremeno deklariramo i instanciramo. Obično se koriste kada trebate nadjačati metodu klase ili sučelja. Program u nastavku pokazuje kako se koristi anonimna unutarnja klasa -

apstraktna klasa AnonymousInnerTest {public abstract void mytest ()} public class Outer_class {public static void main (String args []) {AnonymousInnerTest inner = new AnonymousInnerTest () {public void mytest () {System.out.println ('Ovo je primjer anonimne klase unutarnjeg testa ')}} inner.mytest ()}}

Izlaz-

Statična ugniježđena klasa: DO je ugniježđena klasa koja je statički član vanjske klase. Za razliku od unutarnje klase, statička ugniježđena klasa ne može pristupiti varijablama člana vanjske klase jer statička ugniježđena klasa ne zahtijeva instancu vanjske klase. Dakle, nema reference na vanjsku klasu s OuterClass.this. Sintaksa statičke ugniježđene klase je -

klasa MyOuter {statička klasa Nested_Test {}}

Primjer statičke ugniježđene klase

javna klasa Outer {static class Nested_Test {public void my_method () {System.out.println ('Ovo je ugniježđena test klasa Edureka')}} public static void main (String args []) {Outer.Nested_Test ugniježđeno = new Outer. Ugniježđeno_Test () ugniježđeno.moja_metoda ()}}

Izlaz

Razlika između statičkih i nestatičnih ugniježđenih klasa

Statične ugniježđene klase nemaju pristup izravno ostalim članovima zatvorene klase. Budući da je statičan, mora pristupiti nestatičnim članovima svoje klase koja se zatvara putem objekta što znači da se ne može izravno pozivati ​​na nestatične članove svoje klase koja obuhvata. I zbog ovog ograničenja, statične ugniježđene klase rijetko se koriste.

Nestatične ugniježđene klase imaju pristup svim članovima vanjske klase i mogu se na njih izravno pozivati ​​na isti način na koji to čine i drugi nestatični članovi vanjske klase.

Prije nego što dođemo do kraja ovog članka, pogledajmo nekoliko ključnih točaka.

Ključne točke koje treba zapamtiti

  • Unutarnja klasa tretira se kao redoviti član klase.
  • Budući da je unutarnja klasa pripadnica vanjske klase, na svoju unutarnju klasu možete primijeniti različite modifikatore pristupa poput zaštićenih, privatnih.
  • Budući da je ugniježđena klasa član njezine zatvorene klase, možete je koristiti. (točka) notacija za pristup ugniježđenoj klasi i njezinim članovima.
  • Korištenje ugniježđene klase čini vaš kôd čitljivijim i pruža bolju inkapsulacija .
  • Unutarnja klasa ima pristup ostalim članovima vanjske klase, čak i ako su proglašeni privatnima.

Ovime smo došli do kraja ovog bloga o ugniježđenim klasama u Javi. Ako želite saznati više o Javi, pogledajte Edureka, pouzdane tvrtke za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta. Edurekin tečaj za obuku i certificiranje Java J2EE i SOA dizajniran je za studente i profesionalce koji žele biti programer Java. Tečaj je dizajniran da vam pruži početnu prednost u Java programiranju i osposobi vas za osnovne i napredne Java koncepte zajedno s raznim Java okvirima poput Hibernate & Spring.

kako napisati skener u javi -

Imate pitanje za nas? Molimo vas da ga spominjete u odjeljku za komentare ovog bloga 'Ugnježđena klasa na Javi', a mi ćemo vam se javiti u najkraćem mogućem roku.