1:Class类中的⽅法
public getDeclaredMethod( name,
>... parameterTypes) throws ,
參数:
name - ⽅法名
parameterTypes - 參数数组
返回:
该类与指定名和參数相匹配的⽅法的 Method 对象
2:Method类中的⽅法;
public invoke( obj, ... args) throws , ,
參数:
obj - 从中调⽤底层⽅法的对象args - ⽤于⽅法调⽤的參数
返回:
使⽤參数 args 在 obj 上指派该对象所表⽰⽅法的结果 3:hello world!级别的反射调⽤:
package com.dao.Text;
import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;public class TetsReflect {
/**
* @param args
* @throws NoSuchMethodException * @throws SecurityException
* @throws InvocationTargetException * @throws IllegalAccessException * @throws IllegalArgumentException */
public static void main(String[] args) throws SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException { Person p = new Person(); Class cla = p.getClass(); // 1:⽆參数
Method method1 = cla.getDeclaredMethod(\"print\"); method1.invoke(p); // 2:有參数的调⽤
Method method2 = cla.getDeclaredMethod(\"printParameter\ method2.invoke(p, \"hello world!!\"); }}
class Person {
public void print() {
System.out.println(\"hello world!!\"+\"没有參数反射⽅法的调⽤\"); }
public void printParameter(String param) {
System.out.println(param+\"有參数的反射⽅法的调⽤\"); }}
结果:
hello world!!没有參数反射⽅法的调⽤hello world!!有參数的反射⽅法的调⽤
因篇幅问题不能全部显示,请点此查看更多更全内容