Hogyan valósítsuk meg a belső osztályt Java-ban?



A java belső osztály egy osztályt jelent, amely egy másik osztály tagja. Ez a cikk segít az osztály kibontásában.

A java belső osztály egy osztályt jelent, amely egy másik osztály tagja. Ban ben , különféle típusú belső osztályok léteznek. Ez a cikk segít ezeknek az osztályoknak a kibontásában. A következő tanácsokat részletesen megvitatjuk,

Kezdjük tehát ezzel a Java osztály belső cikkével,





Belső osztály Java-ban

Beágyazott belső osztály

Ennek az osztálynak hozzáférése van a külső osztály bármely privát példányához. Az egyik osztály írása egy másik osztályon belül megengedett a Java-ban is. A belül írt osztály ismert beágyazott osztály, a belső osztályt pedig külső osztálynak nevezzük.



Szintaxis

osztály külső helye {osztály belső helye {}}

Példa

Az alábbi példában a belső osztályt priváttá tesszük, és az osztályhoz a módszer segítségével jutunk el.



osztály Külső_hely {int szám privát osztály Belső_hely {public void print () {System.out.println ('Ez egy belső osztály')}} void display_Inner () {Belső_hely belső = új Belső_hely () belső.nyomtatás ()}} public class My_class {public static void main (String args []) {Külső_hely külső = új Külső_hely () külső.display_Inner ()}}

Kimenet

Kimenet - belső osztály Java-ban - Edureka

Itt a Külső hely a külső osztály, a Belső helyet pedig belső osztálynak nevezzük.

Továbblépve ezzel a Java osztály belső osztályával,

Hozzáférés a privát tagokhoz

A belső osztályokat használják az osztály privát tagjainak elérésére is. Tegyük fel, hogy van olyan osztály, amelynek privát tagjai vannak, hogy hozzáférjenek hozzájuk. Most írjon egy belső osztályt az osztályon belül, és a belső osztályon belüli módszerrel érje el a magán tagokat.

Itt van a példa,

class Outer_place {private int num = 162 class Inner_place {public int getNum () {System.out.println ('Ez a belső osztály getnum metódusa:') return szám}}} public class My_class {public static void main (String args []) {Külső_hely külső = új Külső-hely () Külső_hely.Belső_hely belső = külső.új Új Belső_hely () System.out.println (belső.getNum ())}}

Kimenet

Továbblépni,

A helyi belső osztályok módszere

A Java-ban írhat egy osztályt a metóduson belül, amelyet helyi típusnak fogunk nevezni. Mint minden helyi változó, a belső osztály hatóköre is korlátozott egy módszeren belül.

Példa

A következő példa bemutatja, hogyan valósul meg egy módszer helyi belső osztály.

statikus blokk példa java-ban
public class Outerplace {void my_Method () {int num = 45 class MethodInner_place {public void print () {System.out.println ('módszer a belső osztályokhoz' + szám)}} MethodInner_place internal = új MethodInner_place () internal.print ( )} public static void main (String args []) {Külső külső = új Külső () külső.my_Method ()}}

Kimenet

Továbblépve ezzel a Java osztály belső osztályával,

Névtelen belső osztály

Bármely belső osztályt, amelyet az osztálynév nélkül deklarálunk, névtelen belső osztálynak nevezzük. Névtelen belső osztályok esetén egyszerre példázzuk és deklaráljuk.

Amikor felül akarjuk írni az osztály vagy egy interfész metódusát, ezt az osztályt használjuk.

Szintaxis

AnonymousInner obj1 = új AnonymousInner () {public void módszer () {}}

Példa

absztrakt osztály AnonymousInner {public abstract void mymethod ()} public class Outer_class {public static void main (String args []) {AnonymousInner inner = new AnonymousInner () {public void mymethod () {System.out.println ('névtelen példa belső osztály ')}} belső.módszer ()}}

Kimenet

Továbblépve ezzel a Java osztály belső osztályával,

A névtelen belső osztály érvelése

Ebben, ha egy módszer elfogadja az interfész objektumát, egy absztrakt osztályt vagy a konkrét osztályt, akkor képesek vagyunk megvalósítani az interfészt, átadni az objektumot a metódusnak és kibővíteni az absztrakt osztályt.

Szintaxis

obj. metódus (új osztály () {public void do {}})

Példa

// interfész interfész Üzenet {String greet ()} public class My_class {// az interfész üzenet objektumát ezzel a módszerrel elfogadja public void displayMessage (m üzenet) {System.out.println (m.greet () + ', példa névtelen belső osztály, mint argumentum ')} public static void main (String args []) {// A My_class osztály = Instantying of my_class obj = new My_class () // Az anonim belső osztály argumentumként való továbbadása Karakterlánc üdvözlet () {return 'Hey'}}}}}

Kimenet

Továbblépve ezzel a Java osztály belső osztályával,

Egy meghatározott alosztály névtelen belső osztálya

Forráskód

mi a keyerror a pythonban
osztálybemutató {void show () {System.out.println ('én voltam az osztály show módszerében')}} class Flavor1Demo {static Demo d = new Demo () {void show () {super.show () System. out.println ('jelen voltam a Flavor1Demo osztályban')}} public static void main (String [] args) {d.show ()}}

Kimenet

Továbblépve ezzel a Java osztály belső osztályával,

Névtelen belső osztály, mint a specifikáció megvalósítója Felület

Forráskód

osztály Flavor2Demo {// osztály, amely a Hello felületet statikusan használja Hello h = new Hello () {public void show () {System.out.println ('anonim osztályban voltam jelen')}} public static void main (String [] args) {h.show ()}} felület Hello {void show ()}

Kimenet

Továbblépve ezzel a Java osztály belső osztályával,

Statikus beágyazott osztályok

Ezeket az osztályokat technikailag nem belső osztályként ismerik. Ezek az osztályok hasonlóak a külső osztály statikus tagjához. A statikusan beágyazott osztály nem fér hozzá a külső osztály változóihoz és módszereihez. Nem kell példányosítani a külső osztályt, közvetlenül elérhető a statikus tagok segítségével.

Szintaxis

Osztály külső {Statikus osztály beágyazott_példa {}}

Példa

public class Outer {statikus osztály Beágyazott_Example {public void my_method () {System.out.println ('Ez a beágyazott osztály')}} public static void main (String args []) {Outer.Nested_Example beágyazva = new Outer.Nested_Example () beágyazott.my_method ()}}

Kimenet

Így a cikk végéhez értünk. Ha többet szeretne megtudni,nézd meg a Edureka, egy megbízható online tanulási társaság. Az Edureka Java J2EE és SOA képzési és tanúsítási tanfolyamát arra tervezték, hogy mind az alapvető, mind a fejlett Java koncepciókra kiképezzen különféle Java keretrendszereket, például a Hibernate & Spring.

Van egy kérdésünk? Kérjük, említse meg a cikk megjegyzés rovatában, és a lehető leghamarabb kapcsolatba lépünk Önnel.