簡介: 是什么, 用途, 為什么有用

Annotation 是一種元數(shù)據(jù)(metadata),它本身不是代碼,但提供了一些關于代碼的數(shù)據(jù)。這些數(shù)據(jù)可以是限定代碼的一些功能,也可以是增加一些功能??梢詫⑺斫鉃榇a的修飾符,將代碼當作一個名詞,則Annotation是一個形容詞,它使這個名詞更加準確、或限定為更小的范圍。如紅紅的蘋果,直接說蘋果也行,但有了紅紅的這個形容詞,就更加準確了。 Annotation可以向編譯器提供一些信息,如檢測錯誤(@Override)、消除編譯告警(@SuppressWarning)。 編譯期生成代碼(@Junit)。運行期提供一些檢查機制(@NonNull)。被框架廣泛使用。 和comment一樣,annotation也能夠起到描述代碼功能。但它還具有檢查機制。 為什么是需要的?有些信息無法通過代碼表達出來,此時通過Annotation可以很好的達到。

使用: 一個簡單例子,如@Override。系統(tǒng)提供的annotation,做成列表

Java 預定義的annotation

namedescription
@Deprecated被修飾的元素已經(jīng)被棄用,不應該再使用。編譯器會打印一個告警,如果這個元素還被使用
@Override被修飾元素會覆蓋基類的定義。
@SuppressWarnings消除一個編譯告警。接受一個參數(shù)
@SafeVarargs指明方法不會對varargs做不安全的操作。unchecked 告警會被抑制

網(wǎng)友評論

<blockquote id="iurrq"><legend id="iurrq"></legend></blockquote>
  • <div id="iurrq"></div>
      <cite id="iurrq"><listing id="iurrq"></listing></cite>
      <strike id="iurrq"><label id="iurrq"></label></strike>
      <code id="iurrq"></code>