Nimetön Java-luokka

Sisällysluettelo

Tässä opetusohjelmassa opit tuntemattomista Java-luokista esimerkkien avulla.

Java-luokassa luokka voi sisältää toisen luokan, joka tunnetaan sisäkkäisinä luokkana. On mahdollista luoda sisäkkäinen luokka antamatta nimeä.

Sisäkkäinen luokka, jolla ei ole nimeä, tunnetaan nimettömänä luokkana.

Anonyymi luokka on määriteltävä toisen luokan sisällä. Siksi sitä kutsutaan myös nimettömäksi sisäiseksi luokaksi. Sen syntaksi on:

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

Anonyymit luokat yleensä laajentavat alaluokkia tai toteuttavat rajapintoja.

Tässä tyyppi voi olla

  1. superluokka, jonka tuntematon luokka laajentaa
  2. käyttöliittymä, jonka anonyymi luokka toteuttaa

Yllä oleva koodi luo object1nimettömän luokan objektin ajon aikana.

Huomaa: Anonyymit luokat määritellään lausekkeen sisällä. Joten puolipistettä käytetään nimettömien luokkien lopussa ilmaisun lopun osoittamiseksi.

Esimerkki 1: Anonyymi luokka luokan jatkaminen

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

Tuotos

 Anonyymin luokan sisällä. 

Yllä olevassa esimerkissä olemme luoneet luokan Polygon. Sillä on yksi menetelmä display().

Sitten loimme nimettömän luokan, joka laajentaa luokkaa Polygon ja ohittaa display()menetelmän.

Kun suoritamme ohjelmaa, luodaan nimettömän luokan objekti p1. Objekti kutsuu sitten display()nimettömän luokan menetelmän.

Esimerkki 2: Anonyymi luokka, joka toteuttaa käyttöliittymän

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

Tuotos

 Anonyymin luokan sisällä. 

Yllä olevassa esimerkissä olemme luoneet nimettömän luokan, joka toteuttaa Polygonkäyttöliittymän.

Anonyymien luokkien edut

Nimettömissä luokissa objektit luodaan aina, kun niitä tarvitaan. Eli objektit luodaan tiettyjen tehtävien suorittamiseksi. Esimerkiksi,

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

Täällä nimettömän luokan objekti luodaan dynaamisesti, kun meidän on ohitettava display()menetelmä.

Anonyymit kurssit auttavat meitä myös tekemään koodistamme ytimekkään.

Mielenkiintoisia artikkeleita...