晚上才真正的理解了这个;
google 有了这个:
J2SE 5.0的三种内置注释类型
注解(annotation)是J2SE 5.0的新内容,它给我们提供了很好的编程支持,下面介绍一下其内置的三种注解类型:
1. @Override
@Override用在多态情况下,比如:
public abstract class Animal{
public void say(){
System.out.println("annimal is saying");
}
}
public class Cat extends Animal{
@Override
public void say(){
System.out.println("miao, miao");
}
}
通过@Override来告诉java编译器,say方法是重载的父类的方法,这样,当父类的say方法签名改名的话,比如增加了一些参数,那么子类的Cat中的say方法编译时就会报错,说没有正确的重载父类方法,所以,@Override可以帮我们验证程序的正确性,这一点,很有用。
2. @Deprecated
@Deprecated的意思和JavaDoc中的@deprecated注释在本质上是一样的,使用如下:
public class DeprecatedExample {
@Deprecated
public static void badMethod() { }
}
public class DeprecatedUser {
public static void main(String[] args){
DeprecatedExample.badMethod();
}
}
上面的代码如果用javac进行编译的话,会打印出如下信息:
Note: DeprecatedUser.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
1 error
如果你按提示重新加-Xlint进行编译,你就可以得到错误的详细信息:
% javac -Xlint:deprecation
DeprecatedUser.java:3: warning: [deprecation] badMethod() in DeprecatedExample
has been deprecated
DeprecatedExample.badMethod();
需要注意的是:和javadoc中的@deprecated相比,@Deprecated并没有强大多少,因为它不支持参数,而@deprecated后面还可以跟字符串来给一些相关的信息,但@Deprecated做不到,但它提供了运行时自省的功能,来提示错误,所以建议@Deprecated和@deprecated同时使用。
3. @SuppressWarnings
顾名思义,就是抑制警告信息的出现,使用如下:
public class DeprecatedExample2{
@Deprecated
public static void foo() { }
}
public class DeprecatedUser2 {
@SuppressWarnings(value={"deprecation"})
public static void main(String[] args) {
DeprecatedExample2.foo();
}
}
上述@SuppressWarnings(value={"deprecation"})的作用就是抑制编译器报deprecation的错。
@SuppressWarnings(value={"deprecation"})只支持一个参数,是数组类型,所以你可以不用加value, 写成:@SuppressWarnings({"deprecation"});当想抑制多个类型的警告信息时,可写:@SuppressWarnings({"unchecked","fallthrough",deprecation"}).
注意:在JDK1.5.0 release中,@SuppressWarnings还没有得到完全支持,会在以后支持,但Sun并没有给出具体的时间。
original text
分享到:
相关推荐
Java Annotation 是一种在 J2SE 5.0 版本中引入的重要特性,它遵循JSR-175规范,允许程序员在代码中嵌入元数据。元数据是关于数据的数据,可以用来创建文档、追踪代码依赖关系以及执行编译时检查。在Java中,注释...
- **注释**: Java 支持三种类型的注释: `/* */` 用于多行注释,`//` 用于单行注释,`/** */` 用于文档注释。 - **编译与运行**: 使用 `javac HelloWorldApp.java` 命令编译源代码,然后使用 `java HelloWorldApp` ...
- 1999 年:进一步细化为三个版本:Java 2 Standard Edition (J2SE)、Java 2 Enterprise Edition (J2EE) 和 Java 2 Micro Edition (J2ME)。同时,Servlet 技术诞生。 - 2000 年:发布了 Java 1.3 和 1.4 版本,...
Java的快速发展始于1998年,Sun发布的JDK 1.2标志着Java2时代的开始,同时引入了JSP/Servlet和EJB等技术,将Java分为J2EE(企业版)、J2SE(标准版)和J2ME(微型版),覆盖了企业、桌面和移动领域。此后,Java不断...
组成 JDK包含的基本组件包括: ·javac – 编译器,将源程序转成字节码 ·jar – 打包工具,将相关的类文件打包成一个文件 ·javadoc – 文档生成器,从源码注释中提取文档 ·jdb – debugger,查错工具 ·java –...
- **javadoc.exe**是JDK提供的一种文档生成工具,用于从源代码注释中自动生成API文档。 ### 20. Swing GUI组件 - Swing是Java的一个GUI工具包,提供了丰富的用户界面组件。 - JPanel、JTable、JFrame等是Swing中的...