java中自定義注解詳解 Java中的注解到底是如何工作的?
Java中的注解到底是如何工作的?注釋用于描述Java類。您可以自定義注釋,然后通過反射獲取注釋以執(zhí)行指定的操作。舉個(gè)簡單的例子這樣可以通過反射獲得一些元信息,相當(dāng)于配置和業(yè)務(wù)邏輯的分離。當(dāng)然,這個(gè)自
Java中的注解到底是如何工作的?
注釋用于描述Java類。您可以自定義注釋,然后通過反射獲取注釋以執(zhí)行指定的操作。
舉個(gè)簡單的例子
這樣可以通過反射獲得一些元信息,相當(dāng)于配置和業(yè)務(wù)邏輯的分離。
當(dāng)然,這個(gè)自定義注釋還取決于一些特定的注釋,我們稱之為元注釋。一共有五種:
@保留:生存周期保留策略.SOURCE
保持在源階段保留策略.CLASS
Compile
retention policy,runtime
@documented將注釋中的元素包含到Javadoc中
@target注釋可用于類、方法、屬性、,etc.]@inherited
@repeatable repeatable
~]@override是java5的元數(shù)據(jù)。它會(huì)自動(dòng)添加一個(gè)標(biāo)志,告訴您以下方法是從父類/接口繼承的,需要重寫一次。這樣,您就可以輕松地閱讀它,而且您也不怕忘記@override是偽代碼,這意味著重寫(當(dāng)然,不寫也可以),但它有以下優(yōu)點(diǎn):
1>可以用作注釋以便閱讀
2>編譯器可以驗(yàn)證@override下的方法名是否都在您的父類,否則將報(bào)告錯(cuò)誤。例如,如果您不寫@override,并且您下面的方法名是錯(cuò)誤的,那么您的編譯器可以傳遞(它認(rèn)為這個(gè)方法是添加到您的子類中的)這個(gè)標(biāo)記用于增強(qiáng)編譯時(shí)對程序的檢查。如果方法不是覆蓋父類的方法,編譯器將在編譯時(shí)報(bào)告錯(cuò)誤。我只是大自然的搬運(yùn)工。