Anonymní třída Java

V tomto kurzu se na příkladech dozvíte o anonymních třídách v Javě.

V Javě může třída obsahovat další třídu známou jako vnořená třída. Je možné vytvořit vnořenou třídu bez jakéhokoli názvu.

Vnořená třída, která nemá žádný název, se nazývá anonymní třída.

Anonymní třída musí být definována uvnitř jiné třídy. Proto je také známá jako anonymní vnitřní třída. Jeho syntaxe je:

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

Anonymní třídy obvykle rozšiřují podtřídy nebo implementují rozhraní.

Tady může být Type

  1. nadtřída, kterou rozšiřuje anonymní třída
  2. rozhraní, které implementuje anonymní třída

Výše uvedený kód vytvoří za object1běhu objekt anonymní třídy.

Poznámka: Anonymní třídy jsou definovány uvnitř výrazu. Středník se tedy používá na konci anonymních tříd k označení konce výrazu.

Příklad 1: Anonymní třída rozšiřující třídu

 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ýstup

 Uvnitř anonymní třídy. 

Ve výše uvedeném příkladu jsme vytvořili třídu Polygon. Má jedinou metodu display().

Poté jsme vytvořili anonymní třídu, která rozšiřuje třídu Polygon a přepíše display()metodu.

Když spustíme program, vytvoří se objekt p1 anonymní třídy. Objekt poté zavolá display()metodu anonymní třídy.

Příklad 2: Anonymní třída implementující rozhraní

 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ýstup

 Uvnitř anonymní třídy. 

Ve výše uvedeném příkladu jsme vytvořili anonymní třídu, která implementuje Polygonrozhraní.

Výhody anonymních tříd

V anonymních třídách se objekty vytvářejí, kdykoli jsou požadovány. To znamená, že objekty jsou vytvářeny k provádění některých konkrétních úkolů. Například,

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

Zde je objekt anonymní třídy vytvořen dynamicky, když potřebujeme přepsat display()metodu.

Anonymní třídy nám také pomáhají zkrátit náš kód.

Zajímavé články...