Java Névtelen Osztály

Ebben az oktatóanyagban megismerheti a Java névtelen osztályait példák segítségével.

A Java-ban egy osztály tartalmazhat egy másik osztályt, amelyet beágyazott osztálynak neveznek. Be lehet ágyazott osztályt létrehozni név megadása nélkül.

Név nélküli beágyazott osztály névtelen osztály.

Anonim osztályt kell meghatározni egy másik osztályon belül. Ezért névtelen belső osztályként is ismert. Szintaxisa:

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

Az anonim osztályok általában kiterjesztik az alosztályokat, vagy interfészeket valósítanak meg.

Itt a Type lehet

  1. egy szuperosztály, amelyet egy névtelen osztály kiterjeszt
  2. egy felület, amelyet egy névtelen osztály valósít meg

A fenti kód object1egy névtelen osztály objektumát hozza létre futás közben.

Megjegyzés: A név alatt osztályok vannak megadva egy kifejezésen belül. Tehát a pontosvesszőt az anonim osztályok végén használjuk a kifejezés végének jelzésére.

1. példa: Névtelen osztály osztály kiterjesztése

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

Kimenet

 Anonim osztályon belül. 

A fenti példában létrehoztunk egy sokszög osztályt. Egyetlen módszere van display().

Ezután létrehoztunk egy névtelen osztályt, amely kiterjeszti a Polygon osztályt és felülírja a display()módszert.

A program futtatásakor létrejön az anonim osztály p1 objektuma. Ezután az objektum meghívja display()az anonim osztály metódusát.

2. példa: Névtelen osztály interfész megvalósítása

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

Kimenet

 Anonim osztályon belül. 

A fenti példában létrehoztunk egy anonim osztályt, amely megvalósítja a Polygonfelületet.

A névtelen osztályok előnyei

Névtelen osztályokban az objektumok akkor jönnek létre, amikor szükség van rájuk. Vagyis az objektumok bizonyos konkrét feladatok végrehajtására jönnek létre. Például,

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

Itt egy anonim osztály objektuma jön létre dinamikusan, amikor felül kell írnunk a display()módszert.

Névtelen órák is segítenek abban, hogy a kódunk tömör legyen.

érdekes cikkek...