基本内置注释 @Override注释能实现编译时检查,你可以为你的方法添加该注释,以声明该方法是用于覆盖父类中的方法。如果该方法不是覆盖父类的方法,将会在编译时报错。例如我们为某类重写toString()方法却写成了tostring(),并且我们为该方法添加了@Override注释; @Deprecated的作用是对不应该在使用的方法添加注释,当编程人员使用这些方法时,将会在编译时显示提示信息,它与javadoc里的@deprecated标记有相同的功能,准确的说,它还不如javadoc @deprecated,因为它不支持参数, 注意:要了解详细信息,请使用 -Xlint:deprecation 重新编译。 @SuppressWarnings与前两个注释有所不同,你需要添加一个参数才能正确使用,这些参数值都是已经定义好了的,我们选择性的使用就好了,参数如下: deprecation 使用了过时的类或方法时的警告 unchecked 执行了未检查的转换时的警告,例如当使用集合时没有用泛型 (Generics) 来指定集合保存的类型 fallthrough 当 Switch 程序块直接通往下一种情况而没有 Break 时的警告 path 在类路径、源文件路径等中有不存在的路径时的警告 serial 当在可序列化的类上缺少 serialVersionUID 定义时的警告 finally 任何 finally 子句不能正常完成时的警告 all 关于以上所有情况的警告
package test; /** * @TestIngerface测试 * @author 黑马_王康 * */ @TestInterface(value = "test") public class Test { public void test() { } public static void main(String args[]) { } }
package test; /** * @Deprecated测试 * @author 黑马_王康 * */ public class TestDeprecated { @Deprecated public void oldMethod() { } public void newMethod() { } public static void main(String args[]) { TestDeprecated test = new TestDeprecated(); test.oldMethod(); test.newMethod(); } }
package test; /** * @Target测试 * @author 黑马_王康 * */ import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Target( { ElementType.TYPE, ElementType.METHOD, ElementType.CONSTRUCTOR, ElementType.ANNOTATION_TYPE }) @Retention(RetentionPolicy.SOURCE) @Documented @Inherited public @interface TestInterface { int number() default 1; String value(); String description() default "OK"; }
package test; /** * @Override测试 * @author 黑马_王康 * */ public class TestOverride { @Override public String toString() { return super.toString() + " [Override Tester Implementation]"; } @Override public int hashCode() { return toString().hashCode(); } @Override protected Object clone() throws CloneNotSupportedException { return super.clone(); } @Override protected void finalize() throws Throwable { super.finalize(); } }
package test; import java.util.ArrayList; import java.util.List; /** * @SuppressWarnings测试 * @author 黑马_王康 * */ public class TestSuppressWarnings { @SuppressWarnings("unchecked") public static void main(String args[]) { List list = new ArrayList(); list.add("1"); } }
黑马程序员_王康 java Annotation
最新推荐文章于 2012-02-29 14:30:44 发布