反射基础补充
反射基础补充
java提供了程序运行时探索未加载类的能力和方法 —-> 反射机制
一个类在什么时候会加载?
类加载:
1
2
3
4
5
1.访问类的静态方法或属性
2.首次创建类的实例(只有在首次创建实例的时候才会加载,之后再创建实例不会加载)
3.Class.forName("类的全限定类名");
Class.forName()
1.获取目标类中定义的方法
1
2
// 获取目标类中显式定义多有方法(包括私有方法,不包括构造方法)
Method[] methods = clazz.getDeclaredMethods();
2.获取目标类中定义的字段
1
2
// 获取字段
Field[] fields = clazz.getDeclaredFields();
3.获取目标类中定义的构造方法
1
2
// 获取构造方法
Constructor<?>[] constructors = clazz.getConstructors();
本文由作者按照 CC BY 4.0 进行授权