Anonieme Java-klasse

In deze tutorial leer je met behulp van voorbeelden over anonieme klassen in Java.

In Java kan een klasse een andere klasse bevatten die bekend staat als geneste klasse. Het is mogelijk om een ​​geneste klasse te maken zonder een naam op te geven.

Een geneste klasse die geen naam heeft, staat bekend als een anonieme klasse.

Een anonieme klasse moet binnen een andere klasse worden gedefinieerd. Daarom staat het ook bekend als een anonieme innerlijke klasse. De syntaxis is:

 class outerClass ( // defining anonymous class object1 = new Type(parameterList) ( // body of the anonymous class ); ) 

Anonieme klassen breiden gewoonlijk subklassen uit of implementeren interfaces.

Hier kan Type zijn

  1. een superklasse die een anonieme klasse uitbreidt
  2. een interface die een anonieme klasse implementeert

De bovenstaande code maakt object1tijdens runtime een object , van een anonieme klasse.

Opmerking: anonieme klassen worden gedefinieerd binnen een uitdrukking. De puntkomma wordt dus aan het einde van anonieme klassen gebruikt om het einde van de uitdrukking aan te geven.

Voorbeeld 1: Anonieme klas die een klas uitbreidt

 class Polygon ( public void display() ( System.out.println("Inside the Polygon class"); ) ) class AnonymousDemo ( public void createClass() ( // creation of anonymous class extending class Polygon Polygon p1 = new Polygon() ( public void display() ( System.out.println("Inside an anonymous class."); ) ); p1.display(); ) ) class Main ( public static void main(String() args) ( AnonymousDemo an = new AnonymousDemo(); an.createClass(); ) ) 

Uitvoer

 Binnen een anonieme klas. 

In het bovenstaande voorbeeld hebben we een klasse Polygoon gemaakt. Het heeft een enkele methode display().

Vervolgens hebben we een anonieme klasse gemaakt die de klasse Polygon uitbreidt en de display()methode overschrijft .

Wanneer we het programma uitvoeren, wordt een object p1 van de anonieme klasse gemaakt. Het object roept vervolgens de display()methode van de anonieme klasse aan.

Voorbeeld 2: anonieme klas die een interface implementeert

 interface Polygon ( public void display(); ) class AnonymousDemo ( public void createClass() ( // anonymous class implementing interface Polygon p1 = new Polygon() ( public void display() ( System.out.println("Inside an anonymous class."); ) ); p1.display(); ) ) class Main ( public static void main(String() args) ( AnonymousDemo an = new AnonymousDemo(); an.createClass(); ) ) 

Uitvoer

 Binnen een anonieme klas. 

In het bovenstaande voorbeeld hebben we een anonieme klasse gemaakt die de Polygoninterface implementeert .

Voordelen van anonieme lessen

In anonieme klassen worden objecten gemaakt wanneer ze nodig zijn. Dat wil zeggen dat er objecten worden gemaakt om een ​​aantal specifieke taken uit te voeren. Bijvoorbeeld,

 Object = new Example() ( public void display() ( System.out.println("Anonymous class overrides the method display()."); ) ); 

Hier wordt dynamisch een object van de anonieme klasse gemaakt wanneer we de display()methode moeten overschrijven .

Anonieme lessen helpen ons ook om onze code beknopt te maken.

Interessante artikelen...