Java的注解

“标注”的含义。

给程序构建要素附加元信息的过程称为注释。在Java中,注释用于传递源代码无法完全指示计算机的信息。

主要的注释包含在标准库中。

アノテーション名 意味 Override オーバーライドしたメソッド Deprecated 非推奨であることを明示 SuppressWarnings コンパイルの警告メッセージを抑制 SafeVarags ジェネリック型の可変長引数の警告メッセージの抑制 FunctionalInterface 関数型インターフェイスを表示 Native フィールドがネイティブコード由来であることを明示

用法

@Override 在Java编程中表示一个方法是覆盖父类的方法。

使用override关键字时,会生成注释“该方法是重写的方法”。
如果没有基础方法且无法称之为重写方法,则会引发错误。


class AnimalOverride {
    public void eat() {
        System.out.println("むしゃむしゃ");
    }
}

class Animal extends AnimalOverride {
    @Override //アノテーション
    public void eat() { //メソッド名がeat以外だとオーバーライドしたことにならないのでエラー
        System.out.println("ぱくぱく");
    }
}

public class Main {
    public static void main(String[] args) throws Exception {
        Animal animal = new Animal();
        animal.eat(); //ぱくぱくと出力される
    }
}

只有当 Animal 类的方法不是 eat 时,才会提示错误,告诉你“没有进行重写”。

已弃用

弃用标记用于显式指示不推荐使用的元素。它用于生成“这个方法或类已被弃用”的错误消息,以促使开发者迁移到新功能。


class Animal {
    @Deprecated //アノテーション
    public void eat() {
        System.out.println("むしゃむしゃ");
    }
}

public class Main {
    public static void main(String[] args) throws Exception {
        Animal animal = new Animal();
        animal.eat();
    }
}

//実行結果
Documents $ 1java animal.java
注意 :animal.javaは推奨されないAPIを使用またはオーバーライドしています
注意 :詳細は-Xlint:deprecationオプションを指定して再コンパイルしてください

抑制警告

SuppressWarnings 是一个用于抑制警告的指示。当编写了某些错误的代码时,会发生编译错误,但使用这个注解可以抑制警告并强制执行。
在括号中指定要抑制的警告类型。

@SuppressWarnings("divzero") //ゼロに対して除算している
@SuppressWarnings(unused) //使っていない変数がある

可以利用下面的命令来查询可以在SuppressWarnings中指定的字符串,这取决于Java编译器。

//JDK8の場合
$ javac -X
bannerAds