Java面向对象设计 - Java标准注释
Java API定义了许多标准注释类型。
以下部分讨论了在java.lang包中定义的四种最常用的标准注释。Deprecated
Override
SuppressWarnings
FunctionalInterface
已弃用的注释类型
弃用的注释类型是标记注释类型。它标记了已弃用的代码元素。
使用已弃用的程序元素将导致编译器生成警告。@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 }
}
重写注释类型
重写注释类型是只能在方法上使用的标记注释类型。
它表示方法重写在其超类中声明的方法。
如果我们要覆盖超类中的一个方法,建议使用@Override注释注释覆盖的方法。
编译器将确保注释的方法真正覆盖超类中的一个方法。
如果注释的方法不覆盖超类中的方法,编译器将生成错误。class A {
public void m1() {
}
}
class B extends A {
@Override
public void m1() {
}
}
SuppressWarnings注释类型
SuppressWarnings用于抑制命名的编译器警告。它声明一个名为value的元素,其数据类型是一个String数组。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注释类型
具有一个抽象方法声明的接口被称为功能接口。
如果使用此注释注释的接口不是函数接口,则会生成编译时错误。@FunctionalInterface
interface MyThread{
void run();
}
只有一个抽象方法的接口是一个功能接口,不管它是否用@FunctionalInterface注释注释。
注释Java包
要注释一个Java包,创建一个名为package-info.java的文件,并将注释包声明放在其中。
以下代码显示了package-info.java文件的内容。// package-info.java
@Version(major=1, minor=0)
package com.w3cschool.annotation;