JDK1.5新特性:注解
相当于一种标记,加上注解就等同加上了某种标记,以后javac编译器、开发工具和其他程序可以用反射来了解这个类及各种元素上有无何种标记。有什么标记、就去干相应的事
标记可以加在:包、类、字段、方法、方法的参数以及局部变量上
java.lang包,可看到JDK中提供的最基本的Annotation
@Override 表示当前方法是覆盖父类的方法。
@Deprecated 表示当前元素是不赞成使用的(过时的)
@SuppressWarnings 表示关闭一些不当的编译器警告信息
注解也相当于一个特殊的类
注解的应用结构图:
注解类 应用了“注解类”的类 对“应用了注解的类”进行反射操作的类
@interface A{ @A class C{
} class B{ ...} B.class.isAnnotationPresent(A.class);
A a = B.class.getAnnotation(A.class);
}
元注解:为注解提供服务的注解称为~
@Retention(RetentionPolicy.RUNTIME)
它的作用:使注解一直保留到一个时期,决定注解的生命周期,默认是CLASS
RetentionPolicy是一个枚举,其中有三种取值:
取值 分别对应
RetentionPolicy.SOURCE --> java源文件
RetentionPolicy.CLASS --> class文件
RetentionPolicy.RUNTIME --> 内存中的字节码
当编译器编译java源文件时,可能会把“没用的”注解从中去掉,编译成class
当使用该类时,类加载器把class文件加载到内存中时,也会把“没用的”注解从中去掉,生成内存中的字节码
-------------------------------------------
@Retention(RetentionPolicy.RUNTIME) //指定注解生命周期
@Target({ElementType.METHOD,ElementType.TYPE}) //指定注解作用的范围
public @interface MyAnnotation {
}
-------------------------------------------
java自带的3个注解:
@Override --> SOURCE
@SupperessWarning -->SOURCE
@Deprecated --> RUNTIME
@Target(ElementType.METHOD) 注解:
指定注解的作用范围,如方法前,等
-------------------------------------------
@MyAnnotation
public class AnnotationTest {
@SuppressWarnings("deprecation")
public static void main(String[] args) {
// TODO Auto-generated method stub
System.runFinalizersOnExit(true); //过时方法
sayHello();//过时方法
if(AnnotationTest.class.isAnnotationPresent(MyAnnotation.class)){ //哪个注解在不在
MyAnnotation annotation = AnnotationTest.class.getAnnotation(MyAnnotation.class);
System.out.println(annotation);
}
}
@Deprecated
public static void sayHello(){
System.out.println("你好");
}
-------------------------------------------
JDK1.5中,Interface Type接口
Class也实现了该接口,Type更准确,包含:Class interface enum
分享到:
相关推荐
java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解...
java注解和反射的个人学习笔记
Java注解实现
主要包括:普通java注解,hibernate注解,spring注解,struts2注解,对于学习注解的朋友有很大的帮助!
java 通过反射获取类上注解,方法上注解,注解里的值及方法参数,项目为maven项目。导入时记得选择maven项目
Spring java注解,元注解和自定义注解 Spring java注解,元注解和自定义注解 Spring java注解,元注解和自定义注解 Spring java注解,元注解和自定义注解 Spring java注解,元注解和自定义注解
简述java注解功能及用法,有代码示例。看起来还成,比较简单,学spring注入的时候要用到注解注入的话,本书属于必看版。
包括Java自定义注解以及包括自定义注解的应用实例。以及注解相关知识的注解
入门级java 注解学习示例代码
java 自定义注解验证 可自己添加所需要的注解,本案例中只写了三个自定义注解类 本案例只花了半天时间,如有不好之处请多提提意见。谢谢!
Java 注解(Annotation) - 请认准 ih0qtq
java注解解析知识要点 精简易懂
使用Java自定义注解来拼接SQL查询语句,方便使用。
Java 注解技术详解
如果你想知道java annotation是什么?你可以看看
亲手整理企业项目上所用的java注解用于新手交流学习,内容比较详细,对新手有较大帮助
Java注解、反射、动态代理demo
Java注解的使用例子,使用Ant编译,执行run.bat运行.
这是自己总结的java注解 使用了思维导图,方便读取,快速阅读
该案例实现jdk1.5新特性:java注解和java反射机制加上jdbc API综合运用的一个案例,实现了数据库的简易封装,对想了解jdk的反射机制,注解有帮助