源码地址: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 注解的使用的更多相关文章

  1. Java Annotation 注解

    java_notation.html div.oembedall-githubrepos { border: 1px solid #DDD; list-style-type: none; margin ...

  2. paip.Java Annotation注解的作用and 使用

    paip.Java Annotation注解的作用and 使用 作者Attilax 艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog. ...

  3. 自己写的基于java Annotation(注解)的数据校验框架

    JavaEE6中提供了基于java Annotation(注解)的Bean校验框架,Hibernate也有类似的基于Annotation的数据校验功能,我在工作中,产品也经常需要使 用数据校验,为了方 ...

  4. JAVA - Annotation 注解 入门

    Java注解提供了关于代码的一些信息,但并不直接作用于它所注解的代码内容.在这个教程当中,我们将学习Java的注解,如何定制注解,注解的使用以及如何通过反射解析注解. Java1.5引入了注解,当前许 ...

  5. Java Annotation注解继承说明

    有关Annotation的继承说明: 1.JDK文档中的说明是:只有在类上应用的Annotation才能被继承,而实际应用时的结果是:除了类上应用的Annotation能被继承外,没有被重写的方法的A ...

  6. Java基础笔记 – Annotation注解的介绍和使用 自定义注解

    Java基础笔记 – Annotation注解的介绍和使用 自定义注解 本文由arthinking发表于5年前 | Java基础 | 评论数 7 |  被围观 25,969 views+ 1.Anno ...

  7. Java Android 注解(Annotation) 及几个常用开源项目注解原理简析

    不少开源库(ButterKnife.Retrofit.ActiveAndroid等等)都用到了注解的方式来简化代码提高开发效率. 本文简单介绍下 Annotation 示例.概念及作用.分类.自定义. ...

  8. 深入理解Java:注解(Annotation)基本概念

    转自:http://www.cnblogs.com/peida/archive/2013/04/23/3036035.html 竹子-博客(.NET/Java/Linux/架构/管理/敏捷) 什么是注 ...

  9. Java Annotation 及几个常用开源项目注解原理简析

    PDF 版: Java Annotation.pdf, PPT 版:Java Annotation.pptx, Keynote 版:Java Annotation.key 一.Annotation 示 ...

随机推荐

  1. 卷积神经网络(CNN)的训练过程

    卷积神经网络的训练过程 卷积神经网络的训练过程分为两个阶段.第一个阶段是数据由低层次向高层次传播的阶段,即前向传播阶段.另外一个阶段是,当前向传播得出的结果与预期不相符时,将误差从高层次向底层次进行传 ...

  2. Mysql中的锁机制-转载

    原文:http://blog.csdn.net/soonfly/article/details/70238902 锁是计算机协调多个进程或线程并发访问某一资源的机制.在数据库中,除传统的 计算资源(如 ...

  3. CentOS7安装CDH 第六章:CDH的管理-CDH5.12

    相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 ...

  4. Metasploit Penetration (第一夜加班)

    1.最近白天瞒着上班,晚自习看英语,还要瞒着写论文(现在是看,之前的部分章节被老师否定了,现在开始要从新进行整理)所以只有这晚上来开始看我的渗透测试了,发现渗透的很多知识,只要你平时不用很快就会生疏, ...

  5. OpenCV读取图像问题:OpenCV(3.4.3) D:\Build\OpenCV\opencv-size.width0 && size.height0 in function 'cvimshow'

    版权声明:本文为博主原创文章,转载 请注明出处:https://blog.csdn.net/sc2079/article/details/83280067 - 问题与解决 最近正在学OpenCV,发现 ...

  6. 解决python中调用 imread 报错:ImportError: cannot import name imread

    安装了scipy后,报cannot import name imread错误, 1.网上查阅资料后说是需要安装pillow,安装pillow之后,仍然报该错误, 2.网上说是pillow与SciPy安 ...

  7. React 新特性学习

    1 context 2 contextType 3 lazy 4 suspense 5 memo 6 hooks 7 effect hooks =========== 1 Context 提供了一种方 ...

  8. MySQL内存结构

    实际上MySQL内存的组成和Oracle类似,也可以分为SGA(系统全局区)和PGA(程序缓存区). mysql>show variables like "%buffer%" ...

  9. exception about Kernel Panic // dirperm1 breaks the protection by the permission bits on the lower branch

    问题描述: 1. K8S集群有一个worker,经常磁盘满,然后导致服务异常. 2. 查看/var/log/syslog, 发现非常多的异常如下: 1568405.455565] docker0: p ...

  10. ppt打不开,显示发现文件中的内容有问题。可尝试修复此演示文稿

    ppt打不开,显示发现文件中的内容有问题.可尝试修复此演示文稿 PPT发现要打开的文件有问题,修复后无法打开该文件 解决方法: 主要是因为文件是网络下载的,office自动锁定了文件(默认不可编辑). ...