反射机制及动态代理"/>
Java反射机制及动态代理
Java 是静态的强类型语言,但因提供了反射机制,也具备了部分动态类型语言的能力。任意一个类或对象,都能通过反射获取该类的所有属性和调用该类方法。
- Class类:反射的核心类,可以获取类的属性,方法等信息。
- Field类:Java.lang.reflec包中的类,表示类的成员变量,可以用来获取和设置类之中的属性值。
- Method类: Java.lang.reflec包中的类,表示类的方法,它可以用来获取类中的方法信息或者执行方法。
- Constructor类: Java.lang.reflec包中的类,表示类的构造方法。
Class.forName("全类名"); 获取类的Class对象
getDeclaredMethods(); 获取该类的所有方法
getDeclaredFields(); 获取所有字段属性
getDeclaredConstructors(); 获取所有构造方法(包括私有、受保护、默认、公有)
接下来演示 通过反射访问私有方法和修改私有属性:
public class Student {private String name;private int age;//省略set get toString 方法private void show() {System.out.println("我是学生类");}
}
//获取字节码对象的三种方式//第一种(forName 后跟全类名)Class clazz1 = Clas
更多推荐
Java反射机制及动态代理
发布评论