[javaSE] 反射-方法的反射

2019-09-11 15:03:44 浏览数 (1)

1.如何获取某个方法

方法的名称和方法的参数列表才能唯一决定一个方法

2.方法反射的操作

method.invoke();

代码语言:javascript复制
package com.tsh.reflect;

import java.lang.reflect.Method;


public class ReflectDemo {
    public static void main(String[] args) {
        P p=new P();
        Class c=P.class;
        try {
            Method method=c.getDeclaredMethod("print", String.class);
            method.invoke(p, "ssss");
        } catch (Exception e) {
            e.printStackTrace();
        }
        
    }
}
class P{
    public void print(int a,int b){
        System.out.println(a b);
    }
    public void print(String a){
        System.out.println(a);
    }
                                 
}

如果方法是private的会报这个错误

java.lang.IllegalAccessException

0 人点赞