`
ziwuzu
  • 浏览: 50582 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

注解初定义

阅读更多

1.定义

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 SampleAnnotation { 
//注解名称是SampleAnnotation,需要用@interface定义注解
//方法
	String value();
}

 2. 使用

public class SampleAnnatationUser {
//这些值会被注解的value方法得到
	@SampleAnnotation("oh my god ,i put a value in it")
	public void use() {
		System.out.println("success,i use");
	}

	public void notUse() {
		System.out.println("fail,i am not use");
	}
}

 3.实现,无反射不注解

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class SampleMain {
	public static void main(String[] args) {
		SampleAnnatationUser sampleAnnatationUser = new SampleAnnatationUser();
		for (Method method : sampleAnnatationUser.getClass().getMethods()) {
			if (method.isAnnotationPresent(SampleAnnotation.class)) {
				try {
					SampleAnnotation  annotation = method.getAnnotation(SampleAnnotation.class);
					System.out.println(annotation.value());
					method.invoke(sampleAnnatationUser, null);
				} catch (IllegalArgumentException e) {
					e.printStackTrace();
				} catch (IllegalAccessException e) {
					e.printStackTrace();
				} catch (InvocationTargetException e) {
					e.printStackTrace();
				}
			}
		}
	}
}

 

 4.结果

oh my god ,i put a value in it
success,i use

 

分享到:
评论

相关推荐

    有详细注释的尝试用类来封装数据的菜鸟级windsock-sever

    同时也在代码中详细注释了自己学习时的一些适时的初浅认识。例如:用方法组织代码的一些菜菜菜菜菜菜鸟级的感觉----- 1、按照自己的思路,定义各个功能方法;2、进行控件的布局,并生成控件方法;3、在控件方法中...

    基于python遗传算法解决混合流水车间调度问题源码+项目说明+详细注释.zip

    基于遗传算法解决混合流水车间调度问题python源码+项目说明+详细注释.zip ### GA_solve_1-max 对于最简单的1-max问题使用GA进行初体验 使用python 包装了一个GA类,包括可视化效果 使用不同参数,做了50次仿真...

    基于遗传算法解决混合流水车间调度问题python源码+部署操作说明+注释.zip

    基于遗传算法解决混合流水车间调度问题python源码+部署操作说明+注释.zip 对于最简单的1-max问题使用GA进行初体验 使用python 包装了一个GA类,包括可视化效果 使用不同参数,做了50次仿真模拟,得到了可观的效果...

    Spring2.5的新特性:配置简化和基于注解的功能

    简介从诞生之初,Spring框架就坚守它的宗旨:简化企业级应用开发,同时给复杂问题提供强大的、非侵入性解决方案。一年前发布的Spring2.0就把这些主题推到了一个新的高度。XMLSchema的支持和自定义命名空间的使用大大...

    XML Schema初窥

    • 了解XML Schema推荐标准 • 掌握XML Schema和DTD的区别 • 掌握元素和属性的声明 ...• 掌握简单类型和复杂类型的定义 • 掌握模式与名称空间 • 掌握在实例中引用模式文档 • 了解注解 • 使用XMLSpy编写模式文档

    基于遗传算法解决混合流水车间调度问题python源码+项目说明+详细注释.zip

    基于遗传算法解决混合流水车间调度问题python源码+项目说明+详细注释.zip ### GA_solve_1-max 对于最简单的1-max问题使用GA进行初体验 使用python 包装了一个GA类,包括可视化效果 使用不同参数,做了50次仿真...

    非常经典的c++ primer视频教程6-10

    1.3 关于注释 1.4 控制结构 1.4.1 while语句 1.4.2 for语句 1.4.3 if语句 1.4.4 读入未知数目的输入 1.5 类的简介 1.5.1 Sales_item类 1.5.2 初窥成员函数 1.6 C++程序 第2章 变量和基本类型 2.1 基本...

    spring-framework-2.5.1类包

    从诞生之初,Spring框架就坚守它的宗旨:简化企业级应用开发,同时给复杂问题提供强大的、非侵入性解决方案。一年前发布的Spring2.0就把这些主题推到了一个新的高度。XML Schema的支持和自定义命名空间的使用大大...

    C++ Primer第四版【中文高清扫描版】.pdf

    1.3 关于注释 8 1.4 控制结构 10 1.4.1 while语句 10 1.4.2 for语句 12 1.4.3 if语句 14 1.4.4 读入未知数目的输入 15 1.5 类的简介 17 1.5.1 Sales_item类 17 1.5.2 初窥成员函数 19 1.6 C++程序 21 小结 22 术语 ...

    UML和模式应用(原书第3版).pdf

    第二部分 初 始 阶 段 第4章 初始不是需求阶段 4.1 什么是初始 4.2 初始阶段的持续时间 4.3 初始阶段会创建的制品 4.4 何时知道自己并不了解初始阶段 4.5 初始阶段中有多少UML 第5章 进化式需求 5.1 定义:...

    Spring2.5的新特性

    简介 从诞生之初,Spring框架就坚守它的宗旨:简化企业级应用开发,同时给复杂问题提供强大的、非侵入性解决方案。一年前发布的Spring2.0就把这些主题推到了一个新的高度。XML Schema的支持和自定义命名空间的...

    UML和模式应用(架构师必备).part01.rar

    16.5 注解符号:注解、注释、约束和方法体 16.6 操作和方法 16.7 关键字 16.8 构造型、简档和标记 16.9 UML特性和特性字符串 16.10 泛化、抽象类、抽象操作 16.11 依赖 16.12 接口 16.13 组合优于聚合 ...

    UML和模式应用(架构师必备).part07.rar

    16.5 注解符号:注解、注释、约束和方法体 16.6 操作和方法 16.7 关键字 16.8 构造型、简档和标记 16.9 UML特性和特性字符串 16.10 泛化、抽象类、抽象操作 16.11 依赖 16.12 接口 16.13 组合优于聚合 ...

    UML和模式应用(架构师必备).part02.rar

    16.5 注解符号:注解、注释、约束和方法体 16.6 操作和方法 16.7 关键字 16.8 构造型、简档和标记 16.9 UML特性和特性字符串 16.10 泛化、抽象类、抽象操作 16.11 依赖 16.12 接口 16.13 组合优于聚合 ...

    UML和模式应用(架构师必备).part06.rar

    16.5 注解符号:注解、注释、约束和方法体 16.6 操作和方法 16.7 关键字 16.8 构造型、简档和标记 16.9 UML特性和特性字符串 16.10 泛化、抽象类、抽象操作 16.11 依赖 16.12 接口 16.13 组合优于聚合 ...

    UML和模式应用(架构师必备).part03.rar

    16.5 注解符号:注解、注释、约束和方法体 16.6 操作和方法 16.7 关键字 16.8 构造型、简档和标记 16.9 UML特性和特性字符串 16.10 泛化、抽象类、抽象操作 16.11 依赖 16.12 接口 16.13 组合优于聚合 ...

    UML和模式应用(架构师必备).part04.rar

    16.5 注解符号:注解、注释、约束和方法体 16.6 操作和方法 16.7 关键字 16.8 构造型、简档和标记 16.9 UML特性和特性字符串 16.10 泛化、抽象类、抽象操作 16.11 依赖 16.12 接口 16.13 组合优于聚合 ...

    UML和模式应用(架构师必备).part05.rar

    16.5 注解符号:注解、注释、约束和方法体 16.6 操作和方法 16.7 关键字 16.8 构造型、简档和标记 16.9 UML特性和特性字符串 16.10 泛化、抽象类、抽象操作 16.11 依赖 16.12 接口 16.13 组合优于聚合 ...

Global site tag (gtag.js) - Google Analytics