Java anonym klasse

Innholdsfortegnelse

I denne veiledningen vil du lære om anonyme klasser i Java ved hjelp av eksempler.

I Java kan en klasse inneholde en annen klasse kjent som nestet klasse. Det er mulig å lage en nestet klasse uten å oppgi noe navn.

En nestet klasse som ikke har noe navn, er kjent som en anonym klasse.

En anonym klasse må defineres i en annen klasse. Derfor er det også kjent som en anonym indre klasse. Dens syntaks er:

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

Anonyme klasser utvider vanligvis underklasser eller implementerer grensesnitt.

Her kan Type være

  1. en superklasse som en anonym klasse utvider
  2. et grensesnitt som en anonym klasse implementerer

Ovennevnte kode skaper et objekt,, object1av en anonym klasse ved kjøretid.

Merk: Anonyme klasser er definert i et uttrykk. Så, semikolonet brukes på slutten av anonyme klasser for å indikere slutten på uttrykket.

Eksempel 1: Anonym klasse som utvider 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(); ) ) 

Produksjon

 Inne i en anonym klasse. 

I eksemplet ovenfor har vi opprettet en klasse polygon. Den har en enkelt metode display().

Vi opprettet en anonym klasse som utvider klassen Polygon og overstyrer display()metoden.

Når vi kjører programmet, opprettes et objekt p1 fra den anonyme klassen. Objektet kaller deretter display()metoden til den anonyme klassen.

Eksempel 2: Anonym klasse som implementerer et grensesnitt

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

Produksjon

 Inne i en anonym klasse. 

I eksemplet ovenfor har vi opprettet en anonym klasse som implementerer Polygongrensesnittet.

Fordeler med anonyme klasser

I anonyme klasser opprettes objekter når det er nødvendig. Det vil si at objekter er opprettet for å utføre noen spesifikke oppgaver. For eksempel,

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

Her opprettes et objekt av den anonyme klassen dynamisk når vi trenger å overstyre display()metoden.

Anonyme klasser hjelper oss også med å gjøre koden vår kortfattet.

Interessante artikler...