Java anonīma klase

Šajā apmācībā jūs uzzināsit par anonīmām nodarbībām Java ar piemēru palīdzību.

Java valodā klase var saturēt citu klasi, kas pazīstama kā ligzdota klase. Ir iespējams izveidot ligzdotu klasi, nenosaucot nevienu vārdu.

Ligzdota klase, kurai nav nosaukuma, ir pazīstama kā anonīma klase.

Anonīma klase ir jādefinē citas klases iekšienē. Tādējādi tā ir pazīstama arī kā anonīma iekšējā klase. Tās sintakse ir:

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

Anonīmās klases parasti paplašina apakšklases vai ievieš saskarnes.

Šeit tips var būt

  1. superklase, kuru paplašina anonīma klase
  2. interfeiss, kuru ievieš anonīma klase

Iepriekš minētais kods izpildes laikā izveido object1anonīmās klases objektu .

Piezīme: Anonīmas klases ir definētas izteiksmes iekšpusē. Tātad, semikols tiek izmantots anonīmo klašu beigās, lai norādītu izteiksmes beigas.

1. piemērs: anonīma klase klases pagarināšana

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

Rezultāts

 Anonīmas klases iekšpusē. 

Iepriekš minētajā piemērā mēs esam izveidojuši klases daudzstūri. Tam ir viena metode display().

Pēc tam mēs izveidojām anonīmu klasi, kas paplašina klasi Polygon un ignorē display()metodi.

Palaižot programmu, tiek izveidots anonīmās klases objekts p1. Pēc tam objekts izsauc display()anonīmās klases metodi.

2. piemērs: Anonīma klase, kas ievieš saskarni

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

Rezultāts

 Anonīmas klases iekšpusē. 

Iepriekš minētajā piemērā mēs esam izveidojuši anonīmu klasi, kas īsteno Polygonsaskarni.

Anonīmo nodarbību priekšrocības

Anonīmās klasēs objekti tiek izveidoti, kad vien tie ir nepieciešami. Tas ir, objekti tiek izveidoti, lai veiktu dažus konkrētus uzdevumus. Piemēram,

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

Šeit anonīmās klases objekts tiek izveidots dinamiski, kad mums ir jāignorē display()metode.

Anonīmās klases arī palīdz mums kodolu padarīt īsu.

Interesanti raksti...