Java反射

Java反射允许你以一种在运行时看自己甚至是改变自己的方式来写程序。可以当成是元编程。

它很强大,允许你打破程序的规则。

获取对象所有的域:

object.getClass().getDeclaredFields();

使用for loop遍历获取field

打印域名:

field.getName();

这样就做到了写代码来看Java类的结构。

改变私有域对象:

field.setAccessible(true);

field.set(object, value);

获取对象所有的方法:

object.getClass().getDeclaredMethods();

使用for loop遍历获取medthod

执行改方法:

method.invoke(object);

执行私有方法:

method.setAccessible(true);

也可以执行类的静态方法:

method.invoke(null);

应用场景:

类库如Spring Framework

测试的时候,需要设置私有的field

你可能感兴趣的:(java)