首页 > 代码库 > java反射调用方法
java反射调用方法
1:Class类中的方法
public Method getDeclaredMethod(String name, Class<?>... parameterTypes) throws NoSuchMethodException, SecurityException
name
- 方法名parameterTypes
- 参数数组 Method
对象 2:Method类中的方法;
public Object invoke(Object obj, Object... args) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException
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", 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!!有参数的反射方法的调用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。