Innholdsfortegnelse
Når vi jobber med å bygge brukergrensesnitt inn Java, må vi være spesielt oppmerksom og innsats for å bygge de forskjellige metodene Lytter eller lyttere som fanger opp alle hendelsene som kan genereres fra brukerhandlinger.Hvor mange ganger hver av disse klassene Lytter de vil bare være for bruk og forbruk av en bestemt komponent i systemet eller applikasjonen vi bygger, det gir ikke mye mening å lage komplette og separate klasser.
Det er derfor vi har anonyme klasser, som vi kan forkorte definisjonen av Lytter og dermed forenkle implementeringen i programmene våre.
Som vi nevnte i begynnelsen, når vi bygger komponenter av typen Lytter For å håndtere hendelsene i elementene i brukergrensesnittene våre, har disse generelt et veldig spesifikt formål som ikke kan gjenbrukes, derfor kan vi velge å generere dem som nestede klasser og dermed forenkle koden som skal genereres litt.
Anonyme klasserImidlertid, som gode programmerere, kommer vi sikkert til å trenge å forbedre ting og gjøre dem enda enklere, det er her anonyme klasser, disse lar oss generere en nestet klasse og en forekomst av den i ett trinn, med dette sørger vi for å legge til rette for utvikling av de forskjellige brukergrensesnittene.
La oss se nedenfor et par eksempler på hvordan vi kan implementere en anonym klasse fra en nestet klasse:
Vi ser at i den første delen definerer vi a offentlig metode og så inne i dette lager vi en nestet klasse, denne klassen har ansvaret for å implementere en Grensesnitt for å implementere a Lytter for hendelsene som kan genereres i programmet.
I bunnen har vi gjort det samme som i begynnelsen, bare at i stedet for å definere en nestet klasse definerer vi anonym klasse, som vi kan implementere grensesnittet og lage forekomsten i et enkelt trinn, og dermed effektivt redusere kodelinjene som skal utføres.
- EN anonym klasse det er faktisk en spesiell type nestet klasse og vil bli behandlet som sådan, men den kan ikke gjøre det strekker eller redskaper eksplisitt.
- EN anonym klasse må alltid implementere de abstrakte metodene til superklassen eller Grensesnitt.
- De anonyme klasser de vil alltid bruke no-argument-formen til konstruktøren av høyere klasse. I tilfelle et grensesnitt er implementert, vil konstruktøren være det Gjenstand.
- For hver anonym klasse som er satt sammen, Java vil generere en .class -fil, der hver enkelt vil bli identifisert av rekkefølgen de blir tatt i, for eksempel ClassExternal $ 1klasse, ClassExternal $ 2. klasse og så videre.