Java反射机制调用私有方法

时间:2022-10-30 22:27:20

1、获取目标类:

  1. 每个类都有一个class属性,通过实体类的class属性获取:
    Class clazz = Person.class
  2. 通过对象获取。 
    Person p1 = new Person("sqc")
    Class clazz = p1.getClass()
  3. Class clazz = Class.forName("org.mooctest.Person")

2、获取目标方法并执行

Method method = clazz.getDeclaredMethod("sortByValue", Room [].class); //函数名,参数类型 method.setAccessible(true); method.invoke(clazz.newInstance(), (Object)rooms); //参数二:方法传入的具体值