反射
ITBOY_ITBOX
技术人生,管理天涯
展开
-
动态代理的使用
package com.tt;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;//动态代理的使用interface Subject{ void action();}//被代理类class RealSubject impl翻译 2017-03-02 13:39:51 · 180 阅读 · 0 评论 -
静态代理(反射的应用)
package com.tt;//静态代理模式//接口interface ClothProduct{ void productCloth();}//被代理类class NikeClothFactory implements ClothProduct{ @Override public void productCloth() { System.out翻译 2017-03-02 13:41:45 · 225 阅读 · 0 评论 -
获取构造器
public void test6() throws ClassNotFoundException{ //方法一:通过运行时类来获取Class Class c=Persion.class; Constructor[] constructor=c.getDeclaredConstructors(); for (Constructor cc翻译 2017-03-02 15:23:15 · 181 阅读 · 0 评论 -
获取注解,权限修饰符,返回值类型,方法名,形参列表,异常
public void test5(){ Class c=Persion.class; //getDeclaredMethods():获取运行时类本身声明的所有的方法 Method[] m1=c.getDeclaredMethods(); for (Method method:m1) { System.out.翻译 2017-03-02 15:23:48 · 1173 阅读 · 0 评论 -
获取运行时类的方法
/** * 获取运行时类的方法 */ public void test(){ Class c=Persion.class; //getMethods():获取运行时类及其父类中所有的声明为public的方法 Method[] m=c.getMethods(); for (Method method:m) {翻译 2017-03-02 15:24:16 · 345 阅读 · 0 评论 -
获取属性的各个部分的内容(权限修饰符 变量类型 变量名)
/** * 获取属性的各个部分的内容(权限修饰符 变量类型 变量名) */ public void test3(){ Class c=Persion.class; Field[] f=c.getDeclaredFields(); for (Field field:f) { //获取每个属性的翻译 2017-03-02 15:24:44 · 275 阅读 · 0 评论 -
如何获取Class的实例(3种)
//1.通过通过运行时类本身的.class属性 Class clazz=Persion.class; System.out.println(clazz.getName()); //2.通过运行时类对象获取 Persion p=new Persion(); Class cladd=p.getClass();翻译 2017-03-02 15:25:07 · 801 阅读 · 0 评论