Kaip įdiegti vidinę klasę „Java“?

„Java“ vidinė klasė reiškia vieną klasę, kuri yra kitos klasės narė. Šis straipsnis padės jums išsiaiškinti šią klasę.

„Java“ vidinė klasė reiškia vieną klasę, kuri yra kitos klasės narė. Į , yra įvairių tipų vidinių klasių. Šis straipsnis padės jums išsiaiškinti visas šias klases. Šie patarimai bus išsamiai aptarti,

Taigi pradėkime nuo šio „Java“ vidinės klasės straipsnio,



Vidinė „Java“ klasė

Lizdinė vidinė klasė

Ši klasė turi prieigą prie bet kurios išorinės klasės privataus egzemplioriaus vertės. Rašyti vieną klasę kitoje klasėje taip pat leidžiama „Java“. Užrašyta klasė yra žinoma įdėta klasė, o vidinę klasę turinti klasė - išorinė.

Sintaksė

klasės išorinė vieta {klasės vidinė vieta {}}

Pavyzdys

kas yra dvejetainė paieška java

Žemiau pateiktame pavyzdyje mes darome vidinę klasę privačią ir prieiname prie klasės naudodami metodą.

class Outer_place {int num private class Inner_place {public void print () {System.out.println ('Tai vidinė klasė')}} void display_Inner () {Inner_place internal = nauja Inner_place () internal.print ()}} public class „Mano_klasė“ {public static void main (String args []) {Outer_place external = new Outer_place () external.display_Inner ()}}

Rezultatas

Rezultatas - „Java“ vidinė klasė - „Edureka“

Čia išorinė vieta yra išorinė, o vidinė - vidinė.

Toliau su šia vidine klase „Java“ straipsnyje,

Prieiga prie privačių narių

Vidiniai užsiėmimai taip pat naudojami norint pasiekti privačius klasės narius. Tarkime, kad yra klasė, turinti privačius narius, kad galėtų juos pasiekti. Dabar parašykite vidinę klasės klasę ir naudokitės privačiais nariais naudodamiesi vidinės klasės metodu.

Štai pavyzdys,

class Outer_place {private int num = 162 class Inner_place {public int getNum () {System.out.println ('Tai vidinės klasės getnum metodas:') return num}}} public class My_class {public static void main (String args []) {Outer_place external = new Outer_place () Outer_place.Inner_place internal = external.new Inner_place () System.out.println (internal.getNum ())}}

Rezultatas

Toliau,

Vietinių vidinių klasių metodas

„Java“ sistemoje galite parašyti klasę pagal metodą, kuris bus žinomas kaip vietinis tipas. Kaip ir visi vietiniai kintamieji, metodo viduje yra ribojama vidinės klasės apimtis.

Pavyzdys

Šis pavyzdys parodys, kaip įgyvendinamas metodas vietinė vidinė klasė.

public class Outerplace {void my_Method () {int num = 45 class MethodInner_place {public void print () {System.out.println ('metodas vidinėms klasėms' + skaičius)}} MethodInner_place internal = nauja MethodInner_place () internal.print ( )} public static void main (String args []) {Outerplace external = new Outerplace () external.my_Method ()}}

Rezultatas

Toliau su šia vidine klase „Java“ straipsnyje,

Anonimas Vidinė klasė

Bet kuri vidinė klasė, kuri deklaruojama be klasės pavadinimo, vadinama anonimiška vidine klase. Anoniminių vidinių klasių atveju mes tuo pačiu metu ją išaiškiname ir deklaruojame.

Kai mes norime nepaisyti klasės metodo ar sąsajos, mes naudojame šią klasę.

Sintaksė

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

Pavyzdys

abstrakti klasė „AnonymousInner“ {public abstract void mymethod ()} public class Outer_class {public static void main (String args []) {AnonymousInner internal = new AnonymousInner () {public void mymethod () {System.out.println (anoniminio pavyzdys vidinė klasė ')}} vidinė metodas ()}}

Rezultatas

Toliau su šia vidine klase „Java“ straipsnyje,

Kaip anoniminės vidinės klasės argumentas

Jei metodas priima sąsajos objektą, abstrakčią klasę arba konkrečią klasę, mes galime įdiegti sąsają, perduoti objektą metodui ir išplėsti abstrakčią klasę.

Sintaksė

skirtumas tarp html ir xml
obj. metodas (nauja klasė () {public void do {}})

Pavyzdys

// sąsajos sąsaja Pranešimas {String greet ()} public class My_class {// sąsajos pranešimo objektas šiuo metodu priimamas public void displayMessage (Pranešimas m) {System.out.println (m.greet () + ', pavyzdys anoniminė vidinė klasė kaip argumentas ')} public static void main (String args []) {// Class Instantiating My_class obj = new My_class () // Anoniminės vidinės klasės perdavimas kaip argumentas obj.displayMessage (new Message () {public Styginis sveikinimas () {return 'Hey}}}}}}

Rezultatas

Toliau su šia vidine klase „Java“ straipsnyje,

Anoniminė vidinė nurodyto poklasio klasė

Pirminis kodas

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 ('buvau Flavor1Demo klasėje')}} public static void main (String [] argumentai) {d.show ()}}

Rezultatas

Toliau su šia vidine klase „Java“ straipsnyje,

Anoniminė vidinė klasė, kaip nurodytųjų įgyvendintojas Sąsaja

Pirminis kodas

class Flavor2Demo {// klasė, kuri įgyvendina Hello sąsają statinė Hello h = new Hello () {public void show () {System.out.println ('aš buvau anoniminėje klasėje')}} public static void main (String [] args) {h.show ()}} sąsaja Sveiki {void show ()}

Rezultatas

Toliau su šia vidine klase „Java“ straipsnyje,

Statinės įdėtos klasės

Šios klasės techniškai nėra žinomos kaip vidinės klasės. Šios klasės yra panašios į statinį išorinės klasės narį. Statinė įdėta klasė neturi jokios prieigos prie išorinės klasės kintamųjų ir metodų. Mums nereikia ekskliuduoti išorinės klasės, ją galima pasiekti tiesiogiai naudojant statinius narius.

metodo perkrovos ir metodo nepaisymo skirtumas

Sintaksė

Išorinė klasės klasė {Static class nested_example {}}

Pavyzdys

public class Outer {static class Nested_Example {public void my_method () {System.out.println ('Tai yra įdėta klasė')}} public static void main (String args []) {Outer.Nested_Example nested = new Outer.Nested_Example () įdėta.my_method ()}}

Rezultatas

Taigi mes priėjome šį straipsnį. Jei norite sužinoti daugiau,patikrinkite sukūrė patikima internetinė mokymosi įmonė „Edureka“. „Edureka“ „Java J2EE“ ir SOA mokymo ir sertifikavimo kursai yra skirti mokyti jus tiek pagrindinėms, tiek pažangesnėms „Java“ koncepcijoms kartu su įvairiomis „Java“ sistemomis, tokiomis kaip „Hibernate & Spring“.

Turite mums klausimą? Prašau tai paminėti šio straipsnio komentarų skiltyje ir kuo greičiau susisieksime su jumis.