java 反射调用无参方法_java反射调用方法

使用参数 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", String.class);

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!!有参数的反射方法的调用

你可能感兴趣的:(java,反射调用无参方法)