Java教學(xué):Java中注解怎么用

Java教學(xué):Java中注解怎么用

長沙牛耳教育      2022-03-20 03:00:01     9

Java教學(xué):Java中注解怎么用,  什么是注解?  用一個(gè)詞就可以描述注解,那就是元數(shù)據(jù),即一種描述數(shù)據(jù)的數(shù)據(jù)。所以,可以說注解就是源代碼的元數(shù)據(jù)。比如

課程價(jià)格 請(qǐng)咨詢

上課時(shí)段: 授課校區(qū):

詳細(xì)介紹

 

  什么是注解?

  用一個(gè)詞就可以描述注解,那就是元數(shù)據(jù),即一種描述數(shù)據(jù)的數(shù)據(jù)。所以,可以說注解就是源代碼的元數(shù)據(jù)。比如,下面這段代碼:

       

  上面的代碼中,我重寫了toString()方法并使用了@Override注解。但是,即使我不使用@Override注解標(biāo)記代碼,程序也能夠正常執(zhí)行。那么,該注解表示什么?這么寫有什么好處嗎?事實(shí)上,@Override告訴編譯器這個(gè)方法是一個(gè)重寫方法(描述方法的元數(shù)據(jù)),如果父類中不存在該方法,編譯器便會(huì)報(bào)錯(cuò),提示該方法沒有重寫父類中的方法。

  如果我不小心拼寫錯(cuò)誤,例如將toString()寫成了toStrring(){double r},而且我也沒有使用@Override注解,那程序依然能編譯運(yùn)行。但運(yùn)行結(jié)果會(huì)和我期望的大不相同?,F(xiàn)在我們了解了什么是注解,并且使用注解有助于閱讀程序。

  Annotation是一種應(yīng)用于類、方法、參數(shù)、變量、構(gòu)造器及包聲明中的特殊修飾符。它是一種由JSR-175標(biāo)準(zhǔn)選擇用來描述元數(shù)據(jù)的一種工具。

  為什么要引入注解?

  使用Annotation之前(甚至在使用之后),XML被廣泛的應(yīng)用于描述元數(shù)據(jù)。不知何時(shí)開始一些應(yīng)用開發(fā)人員和架構(gòu)師發(fā)現(xiàn)XML的維護(hù)越來越糟糕了。他們希望使用一些和代碼緊耦合的東西,而不是像XML那樣和代碼是松耦合的(在某些情況下甚至是完全分離的)代碼描述。

  如果你在Google中搜索“XML vs. annotations”,會(huì)看到許多關(guān)于這個(gè)問題的辯論。最有趣的是XML配置其實(shí)就是為了分離代碼和配置而引入的。上述兩種觀點(diǎn)可能會(huì)讓你很疑惑,兩者觀點(diǎn)似乎構(gòu)成了一種循環(huán),但各有利弊。下面我們通過一個(gè)例子來理解這兩者的區(qū)別。

  假如你想為應(yīng)用設(shè)置很多的常量或參數(shù),這種情況下,XML是一個(gè)很好的選擇,因?yàn)樗粫?huì)同特定的代碼相連。如果你想把某個(gè)方法聲明為服務(wù),那么使用Annotation會(huì)更好一些,因?yàn)檫@種情況下需要注解和方法緊密耦合起來,開發(fā)人員也必須認(rèn)識(shí)到這點(diǎn)。

  另一個(gè)很重要的因素是Annotation定義了一種標(biāo)準(zhǔn)的描述元數(shù)據(jù)的方式。在這之前,開發(fā)人員通常使用他們自己的方式定義元數(shù)據(jù)。例如,使用標(biāo)記interfaces,注釋,transient關(guān)鍵字等等。每個(gè)程序員按照自己的方式定義元數(shù)據(jù),而不像Annotation這種標(biāo)準(zhǔn)的方式。

  目前,許多框架將XML和Annotation兩種方式結(jié)合使用,平衡兩者之間的利弊。

      以上就是長沙牛耳教育Java培訓(xùn)機(jī)構(gòu)小編介紹的“Java教學(xué):Java中注解怎么用”的內(nèi)容,希望對(duì)大家有幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。

 

       相關(guān)文章

  零基礎(chǔ)怎么自學(xué)Java,完整版Java學(xué)習(xí)路線圖

  你還在糾結(jié)學(xué)Java,是自學(xué)還是去培訓(xùn)班嗎

  一個(gè)標(biāo)準(zhǔn)的Java程序員如何進(jìn)階?

  Java學(xué)習(xí)路線清單,快速進(jìn)階Java

  Java編程初學(xué)者要如何進(jìn)階

 

培訓(xùn)啦提醒您:交易時(shí)請(qǐng)核實(shí)對(duì)方資質(zhì),對(duì)于過大宣傳或承諾需謹(jǐn)慎!任何要求預(yù)付定金、匯款等方式均存在風(fēng)險(xiǎn),謹(jǐn)防上當(dāng)。