📄 sample34_10.java
字号:
package wyf.jc;
import java.lang.annotation.*;
import java.lang.reflect.*;
//声明使用目标为TYPE的注解
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@interface MyAnnotationForClass {
java.lang.String msg() ;
}
//声明使用目标为METHOD的注解
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@interface MyAnnotationForMethod {
java.lang.String msgPart1() ;
java.lang.String msgPart2() ;
}
//声明使用注解的类
@MyAnnotationForClass(msg="这是对类的注解")
class MyClass
{
@MyAnnotationForMethod(msgPart1="方法的第一部分注解"
,msgPart2="方法的第二部分注解")
public void sayHello()
{
System.out.println("恭喜您成功地调用了sayHello方法!!!");
}
}
//主类
public class Sample34_10
{
public static void main(String[] args) throws NoSuchMethodException
{
//获取使用了注解的类MyClass对应的Class对象
Class ac=MyClass.class;
//获取MyClass类的注解
MyAnnotationForClass mafc=
(MyAnnotationForClass)ac.getAnnotation(MyAnnotationForClass.class);
//打印类的注解信息
System.out.println("MyClass类的注解信息为:“"+mafc.msg()+"”。");
//获取指定方法对应的Method对象
Method method=ac.getMethod("sayHello",new Class[0]);
//获取方法对应的注解
MyAnnotationForMethod mafm=
(MyAnnotationForMethod)method.getAnnotation(MyAnnotationForMethod.class);
//打印方法对应的注解信息
System.out.println("sayHello方法的第一部分注解信息为:“"+mafm.msgPart1()+"”。");
System.out.println("sayHello方法的第二部分注解信息为:“"+mafm.msgPart2()+"”。");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -