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,
- Beágyazott belső osztály
- Módszer Helyi belső osztályok
- Névtelen belső osztályok
- Statikus beágyazott osztályok
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
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.