Anonym Java-klasse

Indholdsfortegnelse

I denne vejledning lærer du om anonyme klasser i Java ved hjælp af eksempler.

I Java kan en klasse indeholde en anden klasse kendt som indlejret klasse. Det er muligt at oprette en indlejret klasse uden at give noget navn.

En indlejret klasse, der ikke har noget navn, er kendt som en anonym klasse.

En anonym klasse skal defineres i en anden klasse. Derfor er det også kendt som en anonym indre klasse. Dens syntaks er:

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

Anonyme klasser udvider normalt underklasser eller implementerer grænseflader.

Her kan Type være

  1. en superklasse, som en anonym klasse udvider
  2. en grænseflade, som en anonym klasse implementerer

Ovenstående kode opretter et objekt,, object1af en anonym klasse ved kørsel.

Bemærk: Anonyme klasser er defineret i et udtryk. Så, semikolon bruges i slutningen af ​​anonyme klasser for at indikere slutningen af ​​udtrykket.

Eksempel 1: Anonym klasse, der udvider en klasse

 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(); ) ) 

Produktion

 Inde i en anonym klasse. 

I ovenstående eksempel har vi oprettet en klasse-polygon. Det har en enkelt metode display().

Vi oprettede derefter en anonym klasse, der udvider klassen Polygon og tilsidesætter display()metoden.

Når vi kører programmet, oprettes et objekt p1 fra den anonyme klasse. Objektet kalder derefter display()metoden til den anonyme klasse.

Eksempel 2: Anonym klasse, der implementerer et interface

 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(); ) ) 

Produktion

 Inde i en anonym klasse. 

I eksemplet ovenfor har vi oprettet en anonym klasse, der implementerer Polygongrænsefladen.

Fordele ved anonyme klasser

I anonyme klasser oprettes objekter, når de er påkrævet. Det vil sige, objekter oprettes for at udføre nogle specifikke opgaver. For eksempel,

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

Her oprettes et objekt fra den anonyme klasse dynamisk, når vi har brug for at tilsidesætte display()metoden.

Anonyme klasser hjælper os også med at gøre vores kode kortfattet.

Interessante artikler...