Field Method

反射类的Field field = XXX。如果field是静态属性,那么获得属性值的话field.get(Object object),的object可以传任意值,传null也可以,因为不需要传对象。如果field是非静态
属性的话,那么object要传对象。

Class clazz = 类名.class的时候不会调用类的静态块和初始化静态属性,但是如果clazz.getField(“XX”)后用field.get(Object object)时候,会调用类的静态块和初始化静态属性。

Method同理

反射类的Method method = XXX。如果method是静态方法,那么调用方法的话method.invoke(Object object,Object… args),的object可以传任意值,传null也可以,因为不需要传对象。如果method是非静态
方法的话,那么object要传对象。

Class clazz = 类名.class的时候不会调用类的静态块和初始化静态属性,但是如果clazz.getMethod(“XX”)后用method.invoke(Object object,Object… args)时候,会调用类的静态块和初始化静态属性。

发布了76 篇原创文章 · 获赞 8 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/fallingcarter/article/details/89471268