Anonym Java-klass

Innehållsförteckning

I den här handledningen lär du dig om anonyma klasser i Java med hjälp av exempel.

I Java kan en klass innehålla en annan klass som kallas kapslad klass. Det är möjligt att skapa en kapslad klass utan att ge något namn.

En kapslad klass som inte har något namn kallas en anonym klass.

En anonym klass måste definieras i en annan klass. Därför är det också känt som en anonym inre klass. Dess syntax är:

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

Anonyma klasser förlänger vanligtvis underklasser eller implementerar gränssnitt.

Här kan Type vara

  1. en superklass som en anonym klass utökar
  2. ett gränssnitt som en anonym klass implementerar

Ovanstående kod skapar ett objekt,, object1av en anonym klass vid körning.

Obs! Anonyma klasser definieras i ett uttryck. Så, semikolon används i slutet av anonyma klasser för att indikera slutet på uttrycket.

Exempel 1: Anonym klass som utvidgar en klass

 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

 Inuti en anonym klass. 

I exemplet ovan har vi skapat en klass Polygon. Den har en enda metod display().

Vi skapade sedan en anonym klass som utökar klassen Polygon och åsidosätter display()metoden.

När vi kör programmet skapas ett objekt p1 av den anonyma klassen. Objektet kallar sedan display()metoden för den anonyma klassen.

Exempel 2: Anonym klass som implementerar ett gränssnitt

 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

 Inuti en anonym klass. 

I exemplet ovan har vi skapat en anonym klass som implementerar Polygongränssnittet.

Fördelar med anonyma klasser

I anonyma klasser skapas objekt när de behövs. Det vill säga objekt skapas för att utföra vissa specifika uppgifter. Till exempel,

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

Här skapas ett objekt av den anonyma klassen dynamiskt när vi behöver åsidosätta display()metoden.

Anonyma klasser hjälper oss också att göra vår kod kortfattad.

Intressanta artiklar...