Annotation简要用法(Java反射)
来源:互联网 发布:知乎 邮箱注册 编辑:程序博客网 时间:2024/06/11 14:29
package cn.mldn.test;import cn.mldn.annotation.MyAnnotation;import cn.mldn.vo.Student;import java.lang.annotation.Annotation;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;/** * Created by wq on 2017/9/24. */@Retention(value = RetentionPolicy.RUNTIME)@interface FactoryClass{ public String className();}interface Fruit{ public void eat();}class Apple implements Fruit{ @Override public void eat() { System.out.println("***吃苹果!"); }}class Orange implements Fruit{ @Override public void eat() { System.out.println("***吃橘子! "); }}@FactoryClass(className = "cn.mldn.test.Apple")class Demo{ public void fun (Object f){ try { Method met =f.getClass().getMethod("eat"); met.invoke(f); } catch (NoSuchMethodException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } }}public class TestDemo { public static void main(String [] args ) throws Exception{ Class<?> cls= Demo.class;//取得demo Object demoObject= cls.newInstance(); FactoryClass fc=cls.getAnnotation(FactoryClass.class); String className =fc.className(); Class<?> c=Class.forName(className); Object obj=c.newInstance(); Method method = cls.getMethod("fun",Object.class); method.invoke(demoObject,obj);//接口对象传递/* //取得全部的annotation Annotation an[]=cls.getAnnotations(); for (int x=0;x<an.length;x++){ MyAnnotation ma= cls.getAnnotation(MyAnnotation.class); System.out.println(ma.name()); System.out.println(ma.value()); }*/ }}
阅读全文
0 0
- Annotation简要用法(Java反射)
- Java Annotation详解(二): 反射和Annotation
- JAVA(五)反射机制/Annotation
- java(9)反射机制/Annotation
- Java反射中Annotation的
- 浅谈Java反射与Annotation
- java反射——反射Annotation
- java annotation 用法
- Java注解annotation用法
- android反射组件 (一)java 自定义annotation基础知识
- Java反射学习总结五(Annotation(注解)-基础篇)
- android反射组件 (一)java 自定义annotation基础知识
- Java反射01 反射_Class 反射_Method Annotation
- Java中的注释Annotation用法
- Java从入门到精通 - 反射Annotation
- java学习脚印: 反射与注释(Annotation)
- java反射机制&Annotation详解_I
- java反射机制&Annotation详解_II
- NOIP2008提高组 传纸条
- Java数组的静态初始化
- [基于Video4Linux的视频采集模块开发
- MySQL索引优化
- Webservice04---java与XML的转换
- Annotation简要用法(Java反射)
- linux socket通讯如何获取本地的源端口号
- Apk解析之 —— AndroidManifest.xml
- 网络判断
- 【英语】秋风吹---9月英语
- Java泛型中的通配符
- 前端性能优化----yahoo前端性能团队总结的35条黄金定律
- Hibernate多对多操作
- 24 Game