Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Vytvorte nový súbor Java triedu pomenovanú " AnnotationTest.java " a vložte nasledujúci kód do neho :
triedy AnnotationTest rozširuje JFrame {
verejné UDPATE ( ) { //nejaký kód tu . } }
Ako vidíte , tento jednoduchý trieda rozširuje triedu JFrame zabudovaný do SWING knižnice Java . Avšak , zdá sa , developer urobila preklepu . Aj keď sa zrejme zamýšľal prepísať metódu update ( ) z nadradenej , že chybne " aktualizácie . " Za normálnych okolností , developer nemusí zachytiť chybu , kým hodín neskôr , keď nejaký aspekt svojho programu , prípadne v úplne inej triede , zlyhá pracovať správne . Kým tam je isté , že sa problémy v dôsledku tohto omylu , v závislosti od kontextu chyby , mohlo by to byť aj chyba kompilátora , pretože akýkoľvek kód , inde v programe môže vždy oprieť metódou " aktualizácie " v JFrame triedy . Nebolo by pekné , keby tam bol spôsob , ako povedať kompilátora , že táto metóda má v úmysle potlačiť inú metódu ? Zadajte @ Override anotácia
2
Upravte svoj kód tak , že znie takto : . ClipArt
@ Overridepublic UDPATE ( ) { //nejaký kód tu . }
@ Override Anotácia poskytuje kompilátor pohľad na to , čo je v hlave programátora . V tomto prípade , že programátor má v úmysle svoju metódu " UDPATE " prepísať nejakú inú metódu v rodičovskej triede . Teraz , keď kompilátor číta tento program , bude okamžite uvedomiť , že chyba bola vykonaná . Nároky programátor " UDPATE " prepíše inú metódu , ale trieda JFrame neobsahuje žiadnu metódu zvanú " UDPATE . " Kompilácia zlyhá a kompilátor sa nechal programátor vedieť výslovne , že jeho metóda " UDPATE " nie je robiť to , čo očakáva sa .
Dúfajme , že programátor bude sa rýchlo pozrieť a všimnúť si dohľad , a opraviť jeho misspelling .
3
Vložte slovo " @ Deprecated " hneď po " @ Override " anotácie pre zvolenú metódu . Ak ste sa programovanie v Jave dlhšia, budete pravdepodobne rozpoznať @ Deprecated ako tag javadoc , ktorý indikuje k ostatným vývojárom , keď si prečítajte dokumentáciu Javadoc , že trieda alebo metóda už nie je podporovaný , a že oni by mali prestať používať , akonáhle je to možné .
Samozrejme , v praxi len málo vývojárov sú neodolateľne študovať javadocs pre všetky knižnice , ktoré používajú , s každou novou verziou . Takže namiesto toho sa spoliehajú na vývojárov Java prevziať iniciatívu , @ Deprecated anotácia hovorí kompilátora , aby generovať varovanie kedykoľvek sa používa triedu alebo metódu . Týmto spôsobom , kedykoľvek developer stavia novú verziu svojho programu , ona je povedal hneď , že ona používa metódu alebo triedu , ktorá je teraz považovaný za zaniknutý a zastarané .