1、创建一个注解

package com.anno;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) // 表示注解可以使用在方法上
public @interface CallAnnotation {String phone() default "某某";; // 表示注解须要一个参数,默认值为"某某"

}

2、创建一个person类,使用注解

package com.anno;public class Person {public void call( String phone) {System.out.println("call=>"+phone);}@CallAnnotationpublic void callByAnnotationDefault(String phone){System.out.println("callByAnnotationDefault=>"+phone);}@CallAnnotation(phone = "张三")public void callByUserAnnotation(String phone){System.out.println("callUserAnnotation=>"+phone);}}

3、测试注解

package com.anno;import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;public class TestAnno {public static void main(String[] args)throws IllegalAccessException, IllegalArgumentException, InvocationTargetException {Person person = new Person(); //创建person对象Method[] methods = Person.class.getDeclaredMethods(); //得到所有方法for (Method meth : methods) {CallAnnotation annoTemp = null;annoTemp = meth.getAnnotation(CallAnnotation.class); //得到注解对象System.out.println("调用方法名称:" + meth.getName());System.out.println("注释的对象信息:" + annoTemp);if (annoTemp != null) { //如果注解对象不为空,将参数值设为注解的值
                meth.invoke(person, annoTemp.phone());} else {meth.invoke(person, "李四"); //如果注解对象为空,单独设置参数值
            }System.out.println();}}}

转载于:https://www.cnblogs.com/2015android/p/4717348.html

java注解简单实例相关推荐

  1. java easyrest_resteasy简单实例

    1.建一个maven web项目 新建一个maven项目,next,第一个框不要勾选 选择maven-archetype-webapp,建一个web项目 键入项目组织id与项目id 一般此时搭建的只是 ...

  2. Java Bean 简单实例网页计数器

    Java Bean 设计页面访问统计 JavaBean简单实例 JavaBean实现页面访问统计 项目结构: 知识点: JavaBean 是一种JAVA语言写成的可重用组件,是一个普通的java类. ...

  3. 从零开始学习 webservice第一集,java webservice简单实例入门教程

    现在从零开始学习webservice 概念自己百度搜,总之,webservice就相当于一个接口,就像你走进了一家售货店,你不需要知道这家店怎么卖给你东西,你拿着钱去,说我要一包玉溪,人家就会给你返回 ...

  4. java 注解生成实例_Java 8 开发的 Mybatis 注解代码生成工具

    MybatisAnnotationTools MybatisAnnotationTools 是基于 Java8 开发的一款可以用于自动化生成 MyBatis 注解类的工具,支持配置数据源.类路径,表名 ...

  5. java etl 简单实例_东方通ETL开发实例

    东方通ETL开发实例 下面通过一个简单的"Oracle CDC增量抽取"实例,带大家感受一下TIETL的 开发思路和强大的数据处理能力. 功能需求: 同一数据库(localhost ...

  6. java 简单万年历,java万年历简单实例

    本文实例讲述了JAVA实现的简单万年历. 实现思路具体如下: 已知1900年1月1日星期一判断是否闰年 指定年月返回当月的天数 返回一年的总天数 返回距离1900年1月到指定年月的上一个月的总天数 实 ...

  7. Java异常处理简单实例

    Java异常处理 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的. 比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error:如果你用 ...

  8. java ajax简单实例_JAVA编写的AJAX例子,很简单,但是很容易理解详解

    非原创,但是从哪来的我也忘了,呵呵! window.onload = function() { CreateDateSelect(); } var xmlHttp = false; var e; // ...

  9. java pjax_pjax简单实例

    ajax缺点是破坏了浏览器的前进后退,因为ajax的请求不会留在历史记录中.pjax就不一样了,pjax被解释成ajax+pushState的封装,因为它把ajax的请求写入历史记录,并反映在地址栏, ...

最新文章

  1. 把自己朝九晚五的工作自动化了,有错吗?
  2. 【Flutter】Flutter 混合开发 ( Flutter 与 Native 通信 | 在 Flutter 端实现 EventChannel 通信 )
  3. 利用Git Bash 远程访问服务器
  4. Canny边缘检测算法
  5. 数组索引必须为正整数或逻辑值是什么意思_贪心算法:K次取反后最大化的数组和...
  6. u-boot-1.3.4 for dm365 之网络驱动
  7. WindowsPhone 7 页面导航和虚拟路径、导航传值
  8. Java new关键字和newInstance()方法的区别
  9. 数据结构之malloc()函数动态内存分配复习
  10. golang return要返回的参数太多_Golang中的Defer必掌握的7知识点
  11. 【论文阅读】Multisource Transfer Learning With Convolutional Neural Networks for Lung Pattern Analysis
  12. RFM模型——构建数据库营销的商业战役!(转)
  13. 解决表格里面使用text-overflow后依旧不能隐藏超出的文本
  14. 硬盘损坏,怪我咯?3分钟拯救硬盘里的小姐姐!
  15. 整合UWALOHA和VBF
  16. 统计学习导论 - 基于R的应用 学习笔记1
  17. 2021-2-18:请你说说MySQL的字符集与排序规则对开发有哪些影响?
  18. 用c语言编程阿姆斯特朗数,C语言水仙花数,阿姆斯特朗数
  19. HotSwap和JRebel原理
  20. wordpress插件_7个最佳WordPress手风琴插件(2019)

热门文章

  1. php mysql修改命令_PHP编程:mysql alter table命令修改表结构实例详解
  2. show status 优化mysql_mysql优化--show status
  3. 找不到_笔记本找不到无线网络怎么办
  4. html css移动位置,html – 如何使用CSS移动对象?
  5. python中的wheel有什么用_什么是Python Wheels?为什么要学Python Wheels
  6. 【教程】手把手企业FTP搭建实例
  7. 【收藏】华为路由器交换机配置命令大全
  8. oracle导出库压缩参数,oracle数据库的定时备份:导出 压缩 归类
  9. 混合索引_数据库面试题:查询在什么情况下不?索引-数据库知识点
  10. c语言行计数程序,C语言非常简单的字符统计程序50行