如何是用annotation 介绍

package com.annotation;

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

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
String myvalue() default "Hi";
}

package com.annotation;

@MyAnnotation()
public class MyClass {
@MyCopyright(author = "xxx", title = "ssxxssx", version = "1.0")
public String init() {
return "hello";
}
}

package com.annotation;

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

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyCopyright {
String title();

String version();

String author();
}

package com.annotation;

import java.lang.reflect.Method;

public class Test {
public static void main(String[] args) {
try {
Class clazz = Class.forName("com.annotation.MyClass");

Method[] methods = clazz.getMethods();

boolean right = clazz.isAnnotationPresent(MyAnnotation.class);

if (right) {
MyAnnotation annotation = (MyAnnotation) clazz
.getAnnotation(MyAnnotation.class);

System.out.println(annotation.myvalue());
}

for (Method method : methods) {
if (method.isAnnotationPresent(MyCopyright.class)) {
MyCopyright mc = method.getAnnotation(MyCopyright.class);

System.out.println(mc.author() + "\n" + mc.title() + "\n"
+ mc.version());
}
}

} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值