Iekšējā klase java nozīmē vienu klasi, kas ir citas klases locekle. In , ir dažādi iekšējo klašu veidi. Šis raksts palīdzēs jums atšķetināt visas šīs nodarbības. Tālāk sniegtie norādījumi tiks detalizēti apspriesti,
- Ligzdota iekšējā klase
- Metode Vietējās iekšējās klases
- Anonīmas iekšējās klases
- Statiskas ligzdotas klases
Ļaujiet mums sākt darbu ar šo Java iekšējās klases rakstu,
Iekšējā klase Java
Ligzdota iekšējā klase
Šai klasei ir piekļuve jebkurai ārējās klases privātās instances vērtībai. Rakstīt vienu klasi citā klasē ir atļauts arī Java valodā. Klase, kas rakstīta, ir zināma ligzdota klase, un klase, kurai pieder iekšējā klase, ir pazīstama kā ārējā klase.
Sintakse
klases ārējā vieta {klases iekšējā vieta {}}
Piemērs
Zemāk sniegtajā piemērā mēs padarām iekšējo klasi privātu un piekļūstam klasei ar metodes palīdzību.
klase Outer_place {int num private class Inner_place {public void print () {System.out.println ('Tā ir iekšējā klase')}} void display_Inner () {Inner_place internal = new Inner_place () internal.print ()}} public class My_class {public static void main (String args []) {Outer_place external = new Outer_place () external.display_Inner ()}}
Rezultāts
Šeit Ārējā vieta ir ārējā klase, un Iekšējo vietu sauc par iekšējo klasi.
Pārejot uz šo Java iekšējās klases rakstu,
Piekļuve privātiem deputātiem
Iekšējās klases tiek izmantotas, lai piekļūtu arī klases privātajiem dalībniekiem. Pieņemsim, ka ir klase, kurā privāti dalībnieki var tām piekļūt. Tagad uzrakstiet klases iekšējo klasi un piekļūstiet privātajiem dalībniekiem, izmantojot iekšējās klases metodi.
Šeit ir piemērs,
class Outer_place {private int num = 162 class Inner_place {public int getNum () {System.out.println ('Tā ir iekšējās klases getnum metode:') return num}}} public class My_class {public static void main (String args []) {Ārējā_vieta ārējā = jauna Ārējā_vieta () Ārējā_vieta.iekšējā_vieta iekšējā = ārējā.jaunā Iekšējā_vieta () System.out.println (internal.getNum ())}}
Rezultāts
Turpinot,
Vietējo iekšējo klašu metode
Java valodā metodē varat rakstīt klasi, kas būs pazīstama kā vietējais tips. Tāpat kā visi lokālie mainīgie, arī iekšējās klases darbības joma ir ierobežota.
Piemērs
Šis piemērs parādīs, kā tiek ieviesta metode vietējā iekšējā klase.
public class Outerplace {void my_Method () {int num = 45 class MethodInner_place {public void print () {System.out.println ('metode iekšējām klasēm' + numurs)}} MethodInner_place internal = new MethodInner_place () internal.print ( )} public static void main (String args []) {Outerplace external = new Outerplace () external.my_Method ()}}
Rezultāts
Pārejot uz šo Java iekšējās klases rakstu,
Anonīms Iekšējā klase
Jebkuru iekšējo klasi, kas tiek deklarēta bez klases nosaukuma, sauc par anonīmu iekšējo klasi. Anonīmu iekšējo klašu gadījumā mēs to instancējam un deklarējam vienlaikus.
Ikreiz, kad mēs vēlamies ignorēt klases metodi vai saskarni, mēs izmantojam šo klasi.
Sintakse
AnonymousInner obj1 = new AnonymousInner () {public void metode () {}}
Piemērs
dziļa kopija vs sekla kopija java
abstraktā klase 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 (anonīma piemērs iekšējā klase ')}} iekšējā.metode ()}}
Rezultāts
Pārejot uz šo Java iekšējās klases rakstu,
Kā anonīmas iekšējās klases arguments
Šajā gadījumā, ja metode pieņem saskarnes, abstraktās klases vai konkrētās klases objektu, tad mēs varam ieviest saskarni, nodot objektu metodei un paplašināt abstrakto klasi.
Sintakse
obj. metode (jauna klase () {public void do {}})
Piemērs
// saskarnes interfeiss Ziņojums {String greet ()} public class My_class {// interfeisa ziņojuma objekts tiek pieņemts ar šo metodi public void displayMessage (Message m) {System.out.println (m.greet () + ', piemērs anonīma iekšējā klase kā arguments ')} public static void main (String args []) {// klases instancēšana My_class obj = new My_class () // Anonīmās iekšējās klases nodošana kā arguments obj.displayMessage (new Message () {public String sveiciens () {return 'Hei'}}}}}
Rezultāts
Pārejot uz šo Java iekšējās klases rakstu,
Anonīma norādītās apakšklases iekšējā klase
Avota kods
klases demonstrācija {void show () {System.out.println ('i was in show method of class')}} klase Flavour1Demo {static Demo d = new Demo () {void show () {super.show () System. out.println ('es biju klāt Flavor1Demo klasē')}} public static void main (String [] args) {d.show ()}}
Rezultāts
Pārejot uz šo Java iekšējās klases rakstu,
Anonīma iekšējā klase kā norādīto ieviešana Saskarne
Avota kods
klase Flavor2Demo {// klase, kas ievieš Hello saskarnes statisko Sveiki h = new Sveiki () {public void show () {System.out.println ('es biju klāt anonīmā klasē')}} public static void main (String [] args) {h.show ()}} saskarne Sveiki {void show ()}
Rezultāts
Pārejot uz šo Java iekšējās klases rakstu,
Statiskās ligzdotās klases
Šīs klases tehniski nav pazīstamas kā iekšējās klases. Šīs klases ir līdzīgas ārējās klases statiskajam loceklim. Statiskai ligzdotajai klasei nav piekļuves ārējās klases mainīgajiem un metodēm. Mums nav jāpiedalās ārējā klasē, tam var piekļūt tieši, izmantojot statiskos locekļus.
Sintakse
Klase ārējā {Statiskā klase ligzdots_piemērs {}}
Piemērs
public class Outer {statiskā klase Nested_Example {public void my_method () {System.out.println ('Tā ir ligzdotā klase')}} public static void main (String args []) {Outer.Nested_Example nested = new Outer.Nested_Example () ligzdota.mans_metode ()}}
Rezultāts
Tādējādi mēs esam nonākuši pie šī raksta beigām. Ja vēlaties uzzināt vairāk,pārbaudiet Autors: uzticams tiešsaistes mācību uzņēmums Edureka. Edureka Java J2EE un SOA apmācības un sertifikācijas kurss ir paredzēts, lai apmācītu jūs gan galvenajiem, gan uzlabotajiem Java jēdzieniem kopā ar dažādiem Java ietvariem, piemēram, Hibernate & Spring.
Vai mums ir jautājums? Lūdzu, pieminējiet to šī raksta komentāru sadaļā, un mēs sazināsimies ar jums pēc iespējas ātrāk.