getDeclaredMethod
时间: 2024-05-16 19:17:40 浏览: 129
getDeclaredMethod是Java反射机制中的一个方法,用于获取类中的特定方法,包括private和protected方法,以及继承自父类的方法。这个方法需要传入方法的名称和参数列表,例如:
```
Class clazz = MyClass.class;
Method method = clazz.getDeclaredMethod("methodName", int.class, String.class);
```
这段代码会获取MyClass类中名为methodName、参数列表为int和String的方法。需要注意的是,由于该方法可以访问私有方法,因此在调用该方法之前需要使用setAccessible(true)方法来设置访问权限。例如:
```
method.setAccessible(true);
Object result = method.invoke(obj, 123, "hello");
```
这段代码会将obj对象传入methodName方法中,并传入参数123和"hello",然后返回方法的执行结果。
相关问题
.getDeclaredMethod
.getMethod()是Java反射机制中的一个方法。它用于获取一个类中指定的方法,不包括继承的方法。 它的语法是`Class.getDeclaredMethod(String name, Class<?>... parameterTypes)`。其中,`name`参数是要获取的方法的名称,`parameterTypes`参数是方法的参数类型。通过调用这个方法,我们可以获得指定名称和参数类型的方法对象。 这个方法返回的是一个`Method`对象,我们可以通过这个对象来操作和调用该方法。在引用中的代码中,使用了`.getDeclaredMethod(autoMatchConfig.getMethodName(), Integer.class)`来获取`SubjectService`类中指定名称和参数类型的方法。然后使用`.invoke(subjectService, GlobalConfig.OPEN_TO_IPLAN)`来调用该方法,其中`subjectService`是方法所属的对象,`GlobalConfig.OPEN_TO_IPLAN`是方法传递的实参。 通过这种方式,可以使用反射机制动态地调用指定的方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [java 反射机制之 getDeclaredMethod()获取方法,然后invoke执行实例对应的方法](https://blog.csdn.net/margin_0px/article/details/88309290)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* [java中Class.getMethods()和Class.getDeclaredMethods()方法的区别](https://download.csdn.net/download/weixin_38752897/12756300)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
class.getDeclaredMethod
class.getDeclaredMethod() 是 Java 反射 API 提供的一个方法,用于获取指定类中声明的特定方法,无论该方法的访问修饰符是什么。该方法需要传入两个参数,第一个参数是方法名,第二个参数是方法的参数类型列表。如果要获取的方法是无参方法,则第二个参数可以不传。该方法返回一个 Method 对象,可以用来调用该方法。使用该方法的前提是你已经获取了要操作的类的 Class 对象。
阅读全文