反射,获取一个类中的静态方法。报异常看不明白


@Test
public void testField1() throws Exception {
    Class<Person> personClass = Person.class;
    //创建运行时类的对象
    Person person = personClass.getDeclaredConstructor().newInstance();
    System.out.println("***********静态方法************");

    Method showDesc = personClass.getDeclaredMethod("showDesc");
    show.setAccessible(true);
    Object invoke = showDesc.invoke(personClass);
    System.out.println(invoke);
}

img

img

Method showDesc = personClass.getDeclaredMethod("showDesc");
    show.setAccessible(true);

私有方法,需要设置访问权限。上面调用错了吧。应该是


Method showDesc = personClass.getDeclaredMethod("showDesc");
 showDesc.setAccessible(true);

invoke方法传null 静态方法属于类,不需要对象

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632