java注解
来源:互联网 发布:java poi jar 编辑:程序博客网 时间:2024/05/01 01:42
java注解
1.什么是注解:
可以理解为一种标记,程序在添加标记的地方可以进行相关解释操作.
生命周期:注解保存到java源码中,注解保存到编译class文件阶段(注解默认),注解保存到class文件加载到内存中
Java SE5内置了三种标准注解:
@Override,表示当前的方法定义将覆盖超类中的方法。
@Deprecated,使用了注解为它的元素编译器将发出警告,因为注解@Deprecated是不赞成使用的代码,被弃用的代码。
@SuppressWarnings,关闭不当编译器警告信息。
public enum ElementType
注解实现的接口
ElementType
ANNOTATION_TYPE
注释类型声明
CONSTRUCTOR
构造方法声明
FIELD
字段声明(包括枚举常量)
LOCAL_VARIABLE
局部变量声明
METHOD
方法声明
PACKAGE
包声明
PARAMETER
参数声明
TYPE
类、接口(包括注释类型)或枚举声明
1.创建注解的标记类
package com.test;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.METHOD,ElementType.TYPE})public @interface AddThread { public abstract String startTime() default "run"; public abstract String value(); public abstract String [] point() default {"0","1"}; public abstract MethodAttr meth() default @MethodAttr("meth,hehe"); }
package com.test;public @interface MethodAttr {String value();}
2.为类添加注解
3.为注解写解释类
package com.test;@AddThread(startTime="runClass",value="hehe",point={"1","2"},meth=@MethodAttr("gaga"))public class PrintCode {@AddThread("haha")public void printcode(String code){System.out.println(code);}public static void main(String[] args) throws SecurityException, NoSuchMethodException {// 获取添加注解类的字节码Class<?> cla=com.test.PrintCode.class;//检查是否添加了注解boolean annotationPresent = cla.isAnnotationPresent(AddThread.class); if(annotationPresent){ //得到注解 AddThread annotation = PrintCode.class.getAnnotation(AddThread.class); AddThread annotation2 = PrintCode.class.getMethod("printcode", String.class).getAnnotation(AddThread.class); System.out.println(annotation.startTime()); System.out.println(annotation2.startTime()); System.out.println(annotation2.point()); }}}
0 0
- Java注解-自定义注解
- Java注解----自定义注解
- Java注解自定义注解
- Java注解--四种元注解
- Java注解-三种內建注解
- 【Java】【注解】自定义注解
- java注解
- java注解
- java注解
- java 注解
- Java注解
- java 注解
- Java 注解
- Java注解
- java 注解
- JAVA注解
- Java注解
- Java注解
- Atitit.web的自动化操作与信息抓取 attilax总结
- 几何分布噪声图像
- SQLAlchemy使用笔记--SQLAlchemy ORM(二)
- Maven出现 Unable to locate the Javac Compiler in解决方法
- JavaWeb自学之html学习笔记 Day-2
- java注解
- 堆和栈的区别
- cocos2d-x从c++文件生成lua绑定文件及lua脚本文件
- 对数正态lognormal分布图像
- online_judge_1099
- C# 单例模式的五种写法
- Linux下rz/sz安装及使用方法
- mysql的事务
- 解决web项目中文乱码