java获取method,2.5 反射——Class对象功能_获取Method
>[info] 反射——Class對象功能_獲取Method
* Method:方法對象
* 執行方法:
* Object invoke(Object obj, Object... args)
* 獲取方法名稱:
* String getName:獲取方法名
*****
```
package cn.itcast.reflect;
import cn.itcast.domain.Person;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
public class ReflectDemo4 {
/**
Class對象功能:
* 獲取功能:
1. 獲取成員變量們
* Field[] getFields()
* Field getField(String name)
* Field[] getDeclaredFields()
* Field getDeclaredField(String name)
2. 獲取構造方法們
* Constructor>[] getConstructors()
* Constructor getConstructor(類>... parameterTypes)
* Constructor getDeclaredConstructor(類>... parameterTypes)
* Constructor>[] getDeclaredConstructors()
3. 獲取成員方法們:
* Method[] getMethods()
* Method getMethod(String name, 類>... parameterTypes)
* Method[] getDeclaredMethods()
* Method getDeclaredMethod(String name, 類>... parameterTypes)
4. 獲取類名
* String getName()
*/
public static void main(String[] args) throws Exception {
//0.獲取Person的Class對象
Class personClass = Person.class;
/*
3. 獲取成員方法們:
* Method[] getMethods()
* Method getMethod(String name, 類>... parameterTypes)
* Method[] getDeclaredMethods()
* Method getDeclaredMethod(String name, 類>... parameterTypes)
*/
//獲取指定名稱的方法
Method eat_method = personClass.getMethod("eat");
Person p = new Person();
//執行方法
eat_method.invoke(p);
Method eat_method2 = personClass.getMethod("eat", String.class);
//執行方法
eat_method2.invoke(p,"飯");
System.out.println("-----------------");
//獲取所有public修飾的方法
Method[] methods = personClass.getMethods();
for (Method method : methods) {
System.out.println(method);
String name = method.getName();
System.out.println(name);
//method.setAccessible(true);
}
//獲取類名
String className = personClass.getName();
System.out.println(className);//cn.itcast.domain.Person
}
}
```
總結
以上是生活随笔為你收集整理的java获取method,2.5 反射——Class对象功能_获取Method的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OJ1036: 某年某月有多少天
- 下一篇: ArcGis Server开发Web G