如果类中存在静态方法和静态属性,那么如果使用反射改如何访问其属性和调用其方法?
自己写一个类,然后通过反射的返回方式来访问其属性和调用静态方法。
注:如果有参数需要传递一个对象表示要访问哪一个对象的静态属性的时候,我们可以使用null来传递,因为静态属性不属于任何对象。
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class JT {
public static int a = 10;
public static void show() {
System.out.println("这是静态方法");
}
public static void main(String[] args) {
try {
JT j = new JT();
Class classJt = j.getClass();
//调用静态方法
Method methodShow = classJt.getMethod("show");
methodShow.invoke(j);
//调用静态属性
Field fieldA = classJt.getField("a");
System.out.println(fieldA.get(null));
}catch (Exception e) {
e.printStackTrace();
}
}
}