Cum se implementează clasa interioară în Java?



Clasa interioară în java înseamnă o clasă care este membră a altei clase. Acest articol vă va ajuta să dezlegați această clasă.

Clasa interioară în java înseamnă o clasă care este membră a altei clase. În , există diferite tipuri de clase interioare. Acest articol vă va ajuta să dezlegați toate aceste clase. Următoarele indicații vor fi discutate în detaliu,

Deci, haideți să începem cu acest articol din clasa internă în Java,





Clasa interioară în Java

Clasa interioară imbricată

Această clasă are acces la orice valoare de instanță privată a clasei externe. Scrierea unei clase în cadrul altei clase este permisă și în Java. Clasa scrisă în interior este cunoscută clasă imbricată și clasa care deține clasa interioară este cunoscută sub numele de clasă exterioară.



Sintaxă

clasă exterior {clasă interior) {}}

Exemplu

șirurile din java sunt imuabile

În exemplul dat mai jos, facem clasa interioară privată și accesăm clasa cu ajutorul metodei.



class Outer_place {int num private class Inner_place {public void print () {System.out.println ('Este o clasă interioară')}} void display_Inner () {Inner_place inner = new Inner_place () inner.print ()}} public class My_class {public static void main (String args []) {Outer_place outer = new Outer_place () external.display_Inner ()}}

Ieșire

Ieșire - Clasa interioară în Java - Edureka

Aici, locul exterior este clasa exterioară, iar locul interior este numit clasa interioară.

Continuând cu acest articol din clasa internă în Java,

Accesarea membrilor privați

Clasele interioare sunt folosite și pentru accesarea membrilor privați ai clasei. Să presupunem că există o clasă care are membri privați pentru a le accesa. Acum scrieți o clasă interioară în cadrul clasei și accesați membrii privați dintr-o metodă din cadrul clasei interioare.

Iată exemplul,

class Outer_place {private int num = 162 class Inner_place {public int getNum () {System.out.println ('Este o metodă getnum a clasei interioare:') return num}}} public class My_class {public static void main (String args []) {Outer_place outside = new Outer_place () Outer_place.Inner_place inner = outside.new Inner_place () System.out.println (inner.getNum ())}}

Ieșire

Trecând peste,

Metoda claselor interioare locale

În Java, puteți scrie o clasă în cadrul metodei și care va fi cunoscută sub numele de tip local. Ca toate variabilele locale, sfera clasei interioare este restricționată în cadrul unei metode.

Exemplu

turnarea tipului de date în java

Următorul exemplu va arăta cum este implementată o metodă clasă interioară locală.

public class Outerplace {void my_Method () {int num = 45 class MethodInner_place {public void print () {System.out.println ('method for inner classes' + num)}} MethodInner_place inner = new MethodInner_place () inner.print ( )} public static void main (String args []) {Outerplace outside = new Outerplace () outer.my_Method ()}}

Ieșire

Continuând cu acest articol din clasa internă în Java,

Clasa interioară anonimă

Orice clasă interioară declarată fără numele clasei se numește clasă interioară anonimă. În cazul claselor interioare anonime, îl instanțiem și îl declarăm în același timp.

Ori de câte ori dorim să înlocuim metoda clasei sau o interfață, folosim această clasă.

Sintaxă

AnonymousInner obj1 = new AnonymousInner () {public void method () {}}

Exemplu

clasa abstractă 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 ('exemplu de anonim clasa interioară ')}} inner.mymethod ()}}

Ieșire

Continuând cu acest articol din clasa internă în Java,

Ca argument al clasei interioare anonime

În acest sens, dacă o metodă acceptă obiectul interfeței, al unei clase abstracte sau al clasei concrete, atunci suntem capabili să implementăm interfața, să transmitem obiectul metodei și să extindem clasa abstractă.

Sintaxă

obiect. metodă (clasa nouă () {public void do {}})

Exemplu

// interfață interfață Mesaj {String greet ()} public class My_class {// obiectul interfeței mesaj este acceptat de această metodă public void displayMessage (Mesaj m) {System.out.println (m.greet () + ', exemplu de clasă interioară anonimă ca argument ')} public static void principal (String args []) {// Instantierea clasei Clasa mea obiect = new Clasa mea () // Trecerea clasei interioare anonime ca argument obj.displayMessage (mesaj nou () {public String greet () {return 'Hei'}})}}}

Ieșire

Continuând cu acest articol din clasa internă în Java,

Clasa interioară anonimă dintr-o subclasă specificată

Cod sursa

class Demo {void show () {System.out.println ('i was in show method of class')}} class Flavor1Demo {static Demo d = new Demo () {void show () {super.show () System. out.println ('am fost prezent în clasa Flavor1Demo')}} public static void main (String [] args) {d.show ()}}

Ieșire

Continuând cu acest articol din clasa internă în Java,

Clasa interioară anonimă ca implementator al Specified Interfață

Cod sursa

clasa Flavor2Demo {// clasă care implementează interfața Hello static Hello h = new Hello () {public void show () {System.out.println ('i was present in anonymous class')}} public static void main (String [] args) {h.show ()}} interfață Bună ziua {void show ()}

Ieșire

Continuând cu acest articol din clasa internă în Java,

Clase cuibărite statice

Aceste clase nu sunt cunoscute tehnic ca clase interioare. Aceste clase sunt similare cu membrul static al clasei exterioare. O clasă statică imbricată nu are acces la variabilele și metodele clasei exterioare. Nu este nevoie să instanțiem clasa exterioară, se poate accesa direct folosind membrii statici.

Sintaxă

numărul Fibonacci c ++
Clasa exterioară {Static class nested_example {}}

Exemplu

public class Outer {static class Nested_Example {public void my_method () {System.out.println ('Este clasa imbricată')}} public static void main (String args []) {Outer.Nested_Example nested = new Outer.Nested_Example () nested.my_method ()}}

Ieșire

Astfel am ajuns la sfârșitul acestui articol. Dacă doriți să aflați mai multe,verificați de Edureka, o companie de învățare online de încredere. Cursul de formare și certificare Java J2EE și SOA al Edureka este conceput pentru a vă instrui atât pentru conceptele Java de bază, cât și pentru cele avansate, împreună cu diverse cadre Java, cum ar fi Hibernate & Spring.

Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii a acestui articol și vă vom răspunde cât mai curând posibil.