Obsah
Když pracujeme na vytváření uživatelských rozhraní v Jáva, musíme věnovat zvláštní pozornost a úsilí budování různých metod Posluchač nebo posluchače, kteří zachycují všechny události, které lze vygenerovat z akcí uživatelů.Kolikrát každá z těchto tříd Posluchač budou pouze pro použití a spotřebu konkrétní součásti systému nebo aplikace, kterou budujeme, nemá velký smysl vytvářet úplné a oddělené třídy.
Proto máme anonymní třídy, pomocí kterého můžeme zkrátit definici Posluchač a tím zjednodušit jeho implementaci v našich programech.
Jak jsme zmínili na začátku, když stavíme součásti typu Posluchač Aby se zvládly události prvků našich uživatelských rozhraní, mají tato obecně velmi specifický účel, který nelze znovu použít, proto se můžeme rozhodnout generovat je jako vnořené třídy a tím trochu zjednodušit generování kódu.
Anonymní třídyJako dobří programátoři však určitě budeme muset věci vylepšit a ještě zjednodušit anonymní třídy, tyto nám umožňují generovat a vnořená třída a její instance v jednom krokuDíky tomu zajistíme vývoj různých uživatelských rozhraní.
Podívejme se níže na několik příkladů, jak můžeme implementovat anonymní třídu počínaje vnořenou třídou:
Vidíme, že v první části definujeme a veřejná metoda a pak uvnitř toho vytvoříme vnořenou třídu, tato třída má na starosti implementaci a Rozhraní za účelem implementace a Posluchač pro události, které lze v programu generovat.
V dolní části jsme udělali to samé jako na začátku, jen že místo definování vnořené třídy definujeme anonymní třída, pomocí kterého můžeme implementovat rozhraní a vytvořit instanci v jednom kroku, čímž efektivně omezíme řádky kódu, které mají být provedeny.
- A anonymní třída ve skutečnosti je to speciální typ vnořené třídy a bude s ním tak zacházeno, ale to nelze rozšiřuje nebo nářadí výslovně.
- A anonymní třída musí vždy implementovat abstraktní metody super třídy nebo Rozhraní.
- The anonymní třídy vždy použijí formu bez argumentů konstruktoru vyšší třídy. V případě, že je implementováno rozhraní, bude konstruktor Objekt.
- Pro každou anonymní třídu, která je kompilována, Jáva vygeneruje soubor .class, kde bude každý identifikován například podle pořadí, v jakém jsou převzaty ClassExternal $ 1class, ClassExternal $ 2.třída a tak dále.