Innehållsförteckning
När vi arbetar med att bygga användargränssnitt i Java, måste vi ägna särskild uppmärksamhet och ansträngning för att bygga de olika metoderna Lyssnare eller lyssnare som fångar upp alla händelser som kan genereras från användaråtgärder.Hur många gånger var och en av dessa klasser Lyssnare de kommer bara att vara för användning och konsumtion av en viss komponent i systemet eller applikationen som vi bygger, det är inte mycket meningsfullt att göra kompletta och separata klasser.
Det är därför vi har anonyma klasser, som vi kan förkorta definitionen av Lyssnare och därmed förenkla genomförandet i våra program.
Som vi nämnde i början, när vi bygger komponenter av typen Lyssnare För att hantera händelserna i elementen i våra användargränssnitt har dessa i allmänhet ett mycket specifikt syfte som inte kan återanvändas, det är därför vi kan välja att generera dem som kapslade klasser och därigenom förenkla koden som ska genereras lite.
Anonyma klasserMen som bra programmerare kommer vi säkert att behöva förbättra saker och göra dem ännu enklare, det är här anonyma klasser, dessa tillåter oss att skapa en kapslad klass och en instans av den i ett steg, med detta ser vi till att underlätta utvecklingen av de olika användargränssnitten.
Låt oss se nedan några exempel på hur vi kan implementera en anonym klass från en kapslad klass:
Vi ser att vi i den första delen definierar a offentlig metod och sedan inuti detta gör vi en kapslad klass, den här klassen ansvarar för att implementera en Gränssnitt för att genomföra a Lyssnare för de händelser som kan genereras i programmet.
I botten har vi gjort detsamma som i början, bara att istället för att definiera en kapslad klass definierar vi anonym klass, med vilket vi kan implementera gränssnittet och göra instansen i ett enda steg, och på så sätt effektivt minska kodraderna som ska köras.
- A anonym klass det är faktiskt en speciell typ av kapslad klass och kommer att behandlas som sådan, men den kan inte göra det sträcker sig eller redskap uttryckligen.
- A anonym klass måste alltid implementera superklassens abstrakta metoder eller Gränssnitt.
- De anonyma klasser de kommer alltid att använda no-argument-formen för konstruktören av högre klass. Om ett gränssnitt implementeras kommer konstruktören att vara det Objekt.
- För varje anonym klass som sammanställs, Java kommer att generera en .class -fil, där var och en kommer att identifieras med exempelvis i vilken ordning de tas ClassExternal $ 1klass, ClassExternal $ 2.klass och så vidare.