java Annotation 注解的使用
源码地址:https://github.com/yylxy/JavaAnnotationTest.git
java Annotation 注解的使用 ,代码中有详细的注释。是用AndroidStudio写的



/**
* 说明:注解创建类
* 作者: 杨阳; 创建于: 2017-06-02 16:10
*/
@Retention(RetentionPolicy.RUNTIME)//定义注释的生命周期
@Target({ElementType.METHOD, ElementType.TYPE})//注释的类型,类型是支持方法与类。
public @interface MyAnnotation {
String color() default "blue";//设置的默认值
String value();
int[] array() default {1, 2, 3,};//返回数组类型
EnumTest enum1() default EnumTest.NAME1;//返回枚举
OtherAnnotation otherAnnotation() default @OtherAnnotation("hhhhhHHHH");//返回注解
}
/**
* 说明:注解使用类
* 作者: 杨阳; 创建于: 2017-06-02 16:13
*/
@MyAnnotation(otherAnnotation = @OtherAnnotation("RRRRRRRR"), color = "red", value = "132",array = {4,5,6,7,8},enum1 = EnumTest.NAME2)
public class AnnotationTest {
@Deprecated
@MyAnnotation("456")
public void getString() {
System.out.println("1111111");
}
}
/**
* 说明:注解的反射使用类
* 作者: 杨阳; 创建于: 2017-06-02 16:14
*/
public class MyClass {
public static void main(String[] arg) {
AnnotationTest at = new AnnotationTest();
at.getString();
//判断注解
if (AnnotationTest.class.isAnnotationPresent(MyAnnotation.class)) {
//得到注解
MyAnnotation myAnnotation = AnnotationTest.class.getAnnotation(MyAnnotation.class);
//输出注解
System.out.println(myAnnotation.color() + "\t\t" + myAnnotation.value());
System.out.println(myAnnotation.array().length + "\t\t" + myAnnotation.toString());
System.out.println(myAnnotation.enum1().name);
System.out.println(myAnnotation.otherAnnotation().value());
}
}
}
/**
* 说明:注解创建类
* 作者: 杨阳; 创建于: 2017-06-02 17:08
*/
@Retention(RetentionPolicy.RUNTIME)//定义注释的生命周期
@Target({ElementType.METHOD, ElementType.TYPE})//注释的类型,类型是支持方法与类。
public @interface OtherAnnotation {
String value() default "yyyyy";
}
/**
* 说明:枚举测试
* 作者: 杨阳; 创建于: 2017-06-02 17:31
*/
public enum EnumTest {
NAME1("aaaaa"),NAME2("bbbbb");
String name;
EnumTest(String name) {
this.name = name;
}
}
java Annotation 注解的使用的更多相关文章
- Java Annotation 注解
java_notation.html div.oembedall-githubrepos { border: 1px solid #DDD; list-style-type: none; margin ...
- paip.Java Annotation注解的作用and 使用
paip.Java Annotation注解的作用and 使用 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog. ...
- 自己写的基于java Annotation(注解)的数据校验框架
JavaEE6中提供了基于java Annotation(注解)的Bean校验框架,Hibernate也有类似的基于Annotation的数据校验功能,我在工作中,产品也经常需要使 用数据校验,为了方 ...
- JAVA - Annotation 注解 入门
Java注解提供了关于代码的一些信息,但并不直接作用于它所注解的代码内容.在这个教程当中,我们将学习Java的注解,如何定制注解,注解的使用以及如何通过反射解析注解. Java1.5引入了注解,当前许 ...
- Java Annotation注解继承说明
有关Annotation的继承说明: 1.JDK文档中的说明是:只有在类上应用的Annotation才能被继承,而实际应用时的结果是:除了类上应用的Annotation能被继承外,没有被重写的方法的A ...
- Java基础笔记 – Annotation注解的介绍和使用 自定义注解
Java基础笔记 – Annotation注解的介绍和使用 自定义注解 本文由arthinking发表于5年前 | Java基础 | 评论数 7 | 被围观 25,969 views+ 1.Anno ...
- Java Android 注解(Annotation) 及几个常用开源项目注解原理简析
不少开源库(ButterKnife.Retrofit.ActiveAndroid等等)都用到了注解的方式来简化代码提高开发效率. 本文简单介绍下 Annotation 示例.概念及作用.分类.自定义. ...
- 深入理解Java:注解(Annotation)基本概念
转自:http://www.cnblogs.com/peida/archive/2013/04/23/3036035.html 竹子-博客(.NET/Java/Linux/架构/管理/敏捷) 什么是注 ...
- Java Annotation 及几个常用开源项目注解原理简析
PDF 版: Java Annotation.pdf, PPT 版:Java Annotation.pptx, Keynote 版:Java Annotation.key 一.Annotation 示 ...
随机推荐
- SAP Kyma(Extension Factory on SAP Cloud Platform)的架构简介
SAP kyma主要分三大块组成: (1) Application connector simplify and securely connect external systems to Kyma a ...
- fiddle--APP弱网测试
一.安装Fiddler 网上说要先安装.NET Framwork4,应该是由于本机已装,所以在安装Fiddler时并没有相关提示. Fiddler安装包:https://www.telerik.com ...
- 页面使用element-tree
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- python自定义小工具:密码匿名化、毫秒时间显示、人类易读字节
import base64 import time def timestamp2datems(timestamp): ''' 时间戳转为日期字串,精确到ms.单位s :param timestamp: ...
- jmeter——http、jdbc、soap请求
1.jmeter——http 请求 1.1添加线程组 1.2添加http请求 1.3发起http请求 1.协议:通常一个http请求都会有相对应的协议,如HTTP,HTTPS等.这里除非有特殊要求,一 ...
- 安装sass时遇到Failed to build gem native extension
错误信息 执行命令: sudo gem install sass时遇到下面的错误信息 Building native extensions. This could take a while... ER ...
- mxnet在windows使用gpu 出错
1. cuda windows安装 官网下载 代码: import mxnet as mxfrom mxnet import ndfrom mxnet.gluon import nn a = nd.a ...
- spring实例化三:CglibSubclassingInstantiationStrategy
在SimpleInstantiationStrategy类中,留下了包含MethodOverride对象的bd对象定义未做实现,做了抽象.CglibSubclassingInstanti ...
- Vue入门——v-if和v-show
v-if 特点:每次都会重新删除或创元素 有较高的切换性能消耗 v-show 特点:每次不会重新进行DOM的删除和创建操作,只是切换了元素的display:none样式 有较高的初始渲染消耗
- FFmpeg常用命令学习笔记(七)直播相关命令
直播相关命令 主要涉及到直播中的推流和拉流 1.直播推流 ffmpeg -re -i out.mp4 -c copy -f flv rtmp://server/live/streamName -re: ...