Aanpasbare annotaties worden een functie toegevoegd aan de Java- programmeertaal vanaf versie 1.5 . In tegenstelling tot de meeste programmeertalen functies in de Java-taal , ze hebben geen direct effect op de werking van de code . Ze kunnen echter een aantal doelen dienen . Zo kunnen annotaties metagegevens voor andere ontwikkelaars , vergelijkbaar met de tags in JavaDoc opmerkingen . Ze kunnen ook gegevens ter beschikking van de compiler die kan helpen programmeurs vangen gemakkelijk fouten gemaakt dat de compiler niet normaal zou merken te maken . Instructies 1 Maak een nieuwe Java-klasse bestand met de naam " AnnotationTest.java " en plak de volgende code erin : klasse AnnotationTest breidt JFrame { openbare udpate ( ) { //Sommige code hier . } } Zoals u kunt zien , deze eenvoudige klasse breidt de JFrame klas ingebouwd in de Java- SWING bibliotheek . Echter , het lijkt de ontwikkelaar heeft een typefout gemaakt . Terwijl hij duidelijk bedoeld om de methode van de superklasse update () overschrijven , verkeerd gespeld hij " Update . " Normaal gesproken , zou de ontwikkelaar de fout niet vangen pas uren later toen een of ander aspect van zijn programma , eventueel in een geheel andere klasse , mislukt goed te laten werken . Hoewel er een aantal problemen als gevolg van deze fout , afhankelijk van de context van de fout , kan er zelfs compiler fout , aangezien elke code elders in het programma kunnen terugvallen op de " Update " -methode in de JFrame klasse . Zou het niet mooi zijn als er een manier om de compiler dat deze methode is van plan om een andere methode overschrijven vertellen ? Voer de @ Override annotatie kopen van 2 Bewerk uw code, zodat deze luidt als volgt : . @ Overridepublic udpate ( ) { //Sommige code hier . } @ Override annotatie geeft de compiler een glimp van wat er in het hoofd van de programmeur . In dit geval , dat de programmeur plan zijn methode " udpate " naar een andere methode in de superklasse overschrijven . Nu , wanneer de compiler leest dit programma , het zal onmiddellijk beseffen dat een fout is gemaakt . De programmeur beweert " udpate " overschrijft een andere methode , maar de klasse JFrame bevat geen methode genaamd " udpate . " De compilatie zal mislukken en de compiler zal expliciet laat de programmeur weet dat zijn " udpate " -methode niet doet wat hij verwacht . Hopelijk zal de programmeur snel een kijkje nemen en merken zijn onoplettendheid , en te corrigeren zijn spelfouten . 3 Zet het woord " @ Afgekeurd " net na de " @ Override ' annotatie voor uw methode . Als u al het programmeren in Java lang , heeft u waarschijnlijk herkennen @ Afgekeurd als JavaDoc tag die aangeeft aan andere ontwikkelaars , als ze lezen de Javadoc documentatie , dat een klasse of methode wordt niet meer ondersteund en dat ze moeten stoppen met het zo snel mogelijk . Natuurlijk, in de praktijk weinig ontwikkelaars zijn dwangmatig bestuderen van de javadocs voor alle bibliotheken die ze gebruiken met elke nieuwe release. Dus , in plaats van het tellen op het Java- ontwikkelaars in staat om het initiatief te nemen , de @ Deprecated annotatie vertelt de compiler om een waarschuwing te genereren wanneer de klasse of methode wordt gebruikt . Op die manier , wanneer een ontwikkelaar bouwt een nieuwe versie van haar programma , wordt ze meteen verteld dat zij met behulp van een methode of klasse die nu wordt beschouwd als ter ziele en achterhaald .
|