Hoe Inner Class in Java te implementeren?



Innerlijke klasse in Java betekent een klasse die lid is van een andere klasse. Dit artikel helpt je bij het ontrafelen van deze les.

Innerlijke klasse in Java betekent een ene klasse die lid is van een andere klasse. In , er zijn verschillende soorten innerlijke klassen. Dit artikel helpt je bij het ontrafelen van al deze lessen. Volgende aanwijzingen worden in detail besproken,

Dus laten we aan de slag gaan met dit Inner Class In Java-artikel,





Innerlijke klasse in Java

Geneste innerlijke klasse

Deze klasse heeft toegang tot elke privéinstantie-waarde van de buitenste klasse. Het schrijven van een klasse binnen een andere klasse is ook toegestaan ​​in Java. De klasse die erin wordt geschreven, is een bekende geneste klasse en de klasse die de binnenste klasse bevat, staat bekend als de buitenste klasse.



Syntaxis

klasse outerplace {class innerplace {}}

Voorbeeld

In het onderstaande voorbeeld maken we de innerlijke klasse privé en krijgen we toegang tot de klasse met behulp van method.



sessiebeheer in java webapplicatie
class Outer_place {int num private class Inner_place {public void print () {System.out.println ('It is an inner class')}} void display_Inner () {Inner_place inner = new Inner_place () inner.print ()}} public class My_class {public static void main (String args []) {Outer_place outer = nieuwe Outer_place () outer.display_Inner ()}}

Uitvoer

Uitvoer - Innerlijke klasse in Java - Edureka

Hier is de uiterlijke plaats de buitenste klasse en de innerlijke plaats wordt de innerlijke klasse genoemd.

Verder gaan met dit Inner Class In Java-artikel,

Toegang tot privé-leden

Innerlijke klassen worden ook gebruikt om toegang te krijgen tot de privéleden van de klas. Stel dat er een klas is met privé-leden om er toegang toe te hebben. Schrijf nu een innerlijke klasse binnen de klas en krijg toegang tot de privé-leden via een methode binnen de innerlijke klasse.

Hier is het voorbeeld,

class Outer_place {private int num = 162 class Inner_place {public int getNum () {System.out.println ('Het is een getnum-methode van inner class:') return num}}} public class My_class {public static void main (String args []) {Outer_place outer = nieuwe Outer_place () Outer_place.Inner_place inner = outer.new Inner_place () System.out.println (inner.getNum ())}}

Uitvoer

Verder gaan,

Methode van lokale innerlijke klassen

In Java kunt u een klasse binnen de methode schrijven en die wordt het lokale type genoemd. Net als alle lokale variabelen is de reikwijdte van de innerlijke klasse beperkt binnen een methode.

Voorbeeld

Het volgende voorbeeld laat zien hoe een lokale binnenklasse van een methode wordt geïmplementeerd.

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 outer = new Outerplace () outer.my_Method ()}}

Uitvoer

Verder gaan met dit Inner Class In Java-artikel,

Anonieme innerlijke klasse

Elke innerlijke klasse die wordt gedeclareerd zonder de klassenaam, wordt een anonieme innerlijke klasse genoemd. In het geval van anonieme innerlijke klassen, instantiëren en declareren we deze tegelijkertijd.

Elke keer dat we de methode van klasse of een interface willen overschrijven, gebruiken we deze klasse.

Syntaxis

AnonymousInner obj1 = nieuwe AnonymousInner () {openbare ongeldige methode () {}}

Voorbeeld

abstract class 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 ('voorbeeld van anoniem inner class ')}} inner.mymethod ()}}

Uitvoer

Verder gaan met dit Inner Class In Java-artikel,

Als argument van anonieme innerlijke klasse

Hierin, als een methode het object van de interface, van een abstracte klasse of de concrete klasse accepteert, kunnen we de interface implementeren, het object doorgeven aan de methode en de abstracte klasse uitbreiden.

Syntaxis

obj. method (new class () {public void do {}})

Voorbeeld

// interface interface Message {String greet ()} public class My_class {// object van interfacebericht wordt geaccepteerd door deze methode public void displayMessage (Message m) {System.out.println (m.greet () + ', voorbeeld van anonymous inner class as argument ')} public static void main (String args []) {// Instantiating van class My_class obj = new My_class () // Doorgeven van de anonieme inner class als argument obj.displayMessage (new Message () {public String greet () {return 'Hey'}})}}

Uitvoer

Verder gaan met dit Inner Class In Java-artikel,

Anonieme innerlijke klasse van een gespecificeerde subklasse

Broncode

klasse Demo {void show () {System.out.println ('ik zat in de showmethode van de klasse')}} klasse Flavor1Demo {statische demo d = nieuwe demo () {void show () {super.show () System. out.println ('i was present in Flavor1Demo class')}} public static void main (String [] args) {d.show ()}}

Uitvoer

Verder gaan met dit Inner Class In Java-artikel,

Anonieme innerlijke klasse als uitvoerder van gespecificeerd Koppel

Broncode

class Flavor2Demo {// class die Hello interface static implementeert Hallo h = nieuw Hallo () {public void show () {System.out.println ('i was present in anonymous class')}} public static void main (String [] args) {h.show ()}} interface Hallo {void show ()}

Uitvoer

Verder gaan met dit Inner Class In Java-artikel,

Statische geneste klassen

Deze klassen zijn technisch niet bekend als innerlijke klassen. Deze klassen zijn vergelijkbaar met het statische lid van de buitenste klasse. Een statische geneste klasse heeft geen toegang tot de variabelen en methoden van de buitenste klasse. We hoeven de buitenste klasse niet te instantiëren, deze is rechtstreeks toegankelijk via de statische leden.

Syntaxis

Klasse buitenste {Statische klasse nested_example {}}

Voorbeeld

public class Outer {statische class Nested_Example {public void my_method () {System.out.println ('It is the geneste klasse')}} public static void main (String args []) {Outer.Nested_Example genest = nieuw Outer.Nested_Example () genest.mijn_method ()}}

Uitvoer

Hiermee zijn we aan het einde gekomen van dit artikel. Als u meer wilt weten,bekijk de door Edureka, een vertrouwd online leerbedrijf. Edureka's Java J2EE- en SOA-trainings- en certificeringscursus is ontworpen om u te trainen in zowel kern- als geavanceerde Java-concepten, samen met verschillende Java-frameworks zoals Hibernate & Spring.

Heeft u een vraag voor ons? Vermeld het in het opmerkingengedeelte van dit artikel en we nemen zo snel mogelijk contact met u op.