Java anonüümne klass

Lang L: none (table-of-contents)

Selles õpetuses saate näiteid kasutades õppida Java-s anonüümsete klasside kohta.

Javas võib klass sisaldada teist klassi, mida nimetatakse pesastatud klassiks. Pesastatud klassi on võimalik luua ilma ühtegi nime andmata.

Pesaklassi, millel pole ühtegi nime, nimetatakse anonüümseks klassiks.

Anonüümne klass tuleb määratleda teise klassi sees. Seega on see tuntud ka kui anonüümne siseklass. Selle süntaks on:

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

Anonüümsed klassid laiendavad tavaliselt alaklasse või rakendavad liideseid.

Siin saab tüüp olla

  1. superklass, mida anonüümne klass laiendab
  2. liides, mida anonüümne klass rakendab

Ülaltoodud kood loob object1käitamise ajal anonüümse klassi objekti .

Märkus. Anonüümsed klassid on määratletud avaldise sees. Niisiis, semikooloni kasutatakse anonüümsete klasside lõpus avaldise lõpu tähistamiseks.

Näide 1: Anonüümne klass klassi laiendamiseks

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

Väljund

 Anonüümse klassi sees. 

Ülaltoodud näites oleme loonud klassi Polygon. Sellel on üks meetod display().

Seejärel lõime anonüümse klassi, mis laiendab klassi Polygon ja alistab display()meetodi.

Programmi käivitamisel luuakse anonüümse klassi objekt p1. Seejärel kutsub objekt display()anonüümse klassi meetodit.

Näide 2: anonüümne klass liidese rakendamiseks

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

Väljund

 Anonüümse klassi sees. 

Ülaltoodud näites oleme loonud anonüümse klassi, mis rakendab Polygonliidest.

Anonüümsete klasside eelised

Anonüümsetes klassides luuakse objekte alati, kui neid vajatakse. See tähendab, et objektid luuakse mõne konkreetse ülesande täitmiseks. Näiteks,

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

Siin luuakse anonüümse klassi objekt dünaamiliselt, kui peame display()meetodi tühistama .

Anonüümsed klassid aitavad meil ka koodi lühidalt kokku panna.

Huvitavad Artiklid...