文章

反射基础补充

反射基础补充

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 进行授权