反射获取成员方法

 无参方法:

public class A{
    public void hello() {
        System.out.println("hello world");
    }
}  
public class TestClassLoad {  
    public static void main(String[] args) throws Exception {  
        Class clz = Class.forName("A");  
        Object o = clz.newInstance();  //这两行实现了类的装载、链接和初始化(newInstance方法实际上也是使用反射调用了方法)
        Method m = clz.getDeclaredMethod("hello");  //获取类A中名字叫hello的方法
        m.invoke(o);//实现了从class对象中获取到method对象然后执行反射调用   
    }
    
}

有参方法:

public class A {
    public void hello(int a,String b) {
        System.out.println("hello world"+a+"======"+b);
    }
}
public class TestClassLoad {
    public static void main(String[] args) throws Exception {
        Class clz = Class.forName("A");
        A a=new A();  //这两行实现了类的装载、链接和初始化(newInstance方法实际上也是使用反射调用了方法)
        Method m = clz.getDeclaredMethod("hello",int.class,String.class);
        m.invoke(a,3,"abc");//实现了从class对象中获取到method对象然后执行反射调用
    }
}

 

你可能感兴趣的:(spring,笔记)