Java 標(biāo)準(zhǔn)注釋

2018-01-19 14:41 更新

Java面向?qū)ο笤O(shè)計(jì) - Java標(biāo)準(zhǔn)注釋


Java API定義了許多標(biāo)準(zhǔn)注釋類型。

以下部分討論了在java.lang包中定義的四種最常用的標(biāo)準(zhǔn)注釋。

  • Deprecated
  • Override
  • SuppressWarnings
  • FunctionalInterface

已棄用的注釋類型

棄用的注釋類型是標(biāo)記注釋類型。它標(biāo)記了已棄用的代碼元素。

使用已棄用的程序元素將導(dǎo)致編譯器生成警告。

@Deprecate 
class MyClass {
  private MyClass() {
  }

  public static MyClass getInstance() {
    MyClass dt = new MyClass();
    return dt;
  }
}

public class Main {
  public static void main(String[] args) {
    MyClass dt; // Generates a compile-time note
  }
}

重寫注釋類型

重寫注釋類型是只能在方法上使用的標(biāo)記注釋類型。

它表示方法重寫在其超類中聲明的方法。

如果我們要覆蓋超類中的一個(gè)方法,建議使用@Override注釋注釋覆蓋的方法。

編譯器將確保注釋的方法真正覆蓋超類中的一個(gè)方法。

如果注釋的方法不覆蓋超類中的方法,編譯器將生成錯(cuò)誤。

class A {
  public void m1() {
  }
}

class B extends A {
  @Override
  public void m1() {
  }
}

SuppressWarnings注釋類型

SuppressWarnings用于抑制命名的編譯器警告。它聲明一個(gè)名為value的元素,其數(shù)據(jù)類型是一個(gè)String數(shù)組。

import java.util.ArrayList;

public class Main {
  @SuppressWarnings("unchecked")
  public void test() {
    @SuppressWarnings("rawtypes")
    ArrayList list = new ArrayList();
    list.add("Hello"); // The compiler issues an unchecked warning
  }
}

FunctionalInterface注釋類型

具有一個(gè)抽象方法聲明的接口被稱為功能接口。

如果使用此注釋注釋的接口不是函數(shù)接口,則會(huì)生成編譯時(shí)錯(cuò)誤。

@FunctionalInterface 
interface  MyThread{
    void  run();
}

只有一個(gè)抽象方法的接口是一個(gè)功能接口,不管它是否用@FunctionalInterface注釋注釋。

注釋Java包

要注釋一個(gè)Java包,創(chuàng)建一個(gè)名為package-info.java的文件,并將注釋包聲明放在其中。

以下代碼顯示了package-info.java文件的內(nèi)容。

// package-info.java
@Version(major=1, minor=0)
package  com.w3cschool.annotation;

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)