Inhoudsopgave
Wanneer we werken aan het bouwen van gebruikersinterfaces in Java, we moeten speciale aandacht en moeite besteden aan het bouwen van de verschillende methoden Luisteraar of luisteraars die alle gebeurtenissen vastleggen die kunnen worden gegenereerd door gebruikersacties.Hoe vaak elk van deze lessen Luisteraar ze zullen alleen voor het gebruik en verbruik zijn van een bepaald onderdeel van het systeem of de applicatie die we bouwen, het heeft niet veel zin om volledige en afzonderlijke klassen te maken.
Daarom hebben we de anonieme lessen, waarmee we de definitie van . kunnen inkorten Luisteraar en zo de implementatie ervan in onze programma's te vereenvoudigen.
Zoals we aan het begin al zeiden, wanneer we componenten van het type bouwen Luisteraar Om de gebeurtenissen van de elementen van onze gebruikersinterfaces af te handelen, hebben deze over het algemeen een zeer specifiek doel dat niet opnieuw kan worden gebruikt, daarom kunnen we ervoor kiezen ze als geneste klassen te genereren en daardoor de te genereren code een beetje te vereenvoudigen.
Anonieme lessenAls goede programmeurs zullen we echter zeker dingen moeten verbeteren en nog eenvoudiger moeten maken, dit is waar de anonieme lessen, deze stellen ons in staat om a geneste klasse en een instantie ervan in één stap, hiermee zorgen we ervoor dat de ontwikkeling van de verschillende gebruikersinterfaces wordt vergemakkelijkt.
Laten we hieronder een paar voorbeelden bekijken van hoe we een anonieme klasse kunnen implementeren vanuit een geneste klasse:
We zien dat we in het eerste deel a . definiëren openbare methode en daarbinnen maken we een geneste klasse, deze klasse is verantwoordelijk voor het implementeren van a Koppel om een Luisteraar voor de gebeurtenissen die in het programma kunnen worden gegenereerd.
Onderaan hebben we hetzelfde gedaan als aan het begin, alleen dat in plaats van een geneste klasse te definiëren, we de . definiëren anonieme klas, waarmee we de interface kunnen implementeren en de instantie in één stap kunnen maken, waardoor de uit te voeren coderegels effectief worden verminderd.
- EEN anonieme klas het is eigenlijk een speciaal type geneste klasse en zal als zodanig worden behandeld, maar dat kan niet strekt zich uit of implementeert uitdrukkelijk.
- EEN anonieme klas moet altijd de abstracte methoden van de superklasse of de . implementeren Koppel.
- De anonieme lessen ze zullen altijd de vorm zonder argument van de constructor van hogere klasse gebruiken. In het geval dat een interface is geïmplementeerd, is de constructor Object.
- Voor elke anonieme klasse die wordt samengesteld, Java genereert een .class-bestand, waarin elk wordt geïdentificeerd door de volgorde waarin ze zijn genomen, bijvoorbeeld KlasseExtern $ 1klasse, ClassExternal $ 2.class enzovoort.