码迷,mamicode.com
首页 > 其他好文 > 详细

注解Annotation

时间:2015-06-20 14:28:53      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:

演示注解的使用

用来注解类

package _4annotation._1review;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface Description {
	String value();
}
用来注解方法

package _4annotation._1review;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface MethodDesc {
	String name();
}
进行注解

package _4annotation._1review;

@Description("这是传智播客上海机构,牛")
public class ITCAST_SH {

	@MethodDesc(name="o了,老毕坐镇")
	public void java(){
		System.out.println("this is annotation class and method");
	}
}
对注解进行操作

package _4annotation._1review;

import java.lang.reflect.Method;

import org.junit.Test;

public class AnnotationParse {

	@Test
	public void testParse(){
		Class c = ITCAST_SH.class;
		//判断是否有Description这个注解类
		if(c.isAnnotationPresent(Description.class)){
			Description d = (Description) c.getAnnotation(Description.class);
			//判断Description注解类中value的值是什么
			if(d.value().contains("播客")){
				System.out.println("学费减半");
			}
		}
		Method[] methods = c.getMethods();
		for(Method mmethod : methods){
			//判断类的方法是否有MethodDesc注解
			if(mmethod.isAnnotationPresent(MethodDesc.class)){
				MethodDesc methodDesc = (MethodDesc) mmethod.getAnnotation(MethodDesc.class);
				//拿到注解类的值
				if(methodDesc.name().contains("老毕")){
					System.out.println("折上折");
				}
			}
		}
	}
}



注解Annotation

标签:

原文地址:http://my.oschina.net/u/2356176/blog/469112

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!