⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sample34_10.java

📁 Java SE 6.0前32-34章示的示例代码,简单易学
💻 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 + -