Java反射机制总结学习--调用类的方法

来源:互联网 发布:ubuntu安装图形界面 编辑:程序博客网 时间:2024/04/29 23:47
public class MethodInvokeDemo {    public static void main(String[] args) {        //想获取一个类的方法,就是要获取类的信息,就需要先获取这个类的类类型。        A a = new A();        Class c = a.getClass();        /*         * getMethod方法是获取public的方法          * getDeclaredMethods就是获取自己声明的方法,不分权限。         */        try {        //print是方法名,后面是是参数的类类型,两种方法都可以。//          Method m = c.getMethod("print", new Class[]{int.class,int.class});            Method m = c.getMethod("print", int.class,int.class);            //方法如果没有返回值就返回null,有返回值就返回具体的值。两种方法都可以            Object o = m.invoke(a, new Object[]{20,30});//          m.invoke(a, 20,30);            System.out.println("================");            Method m1 = c.getMethod("print", String.class,String.class);            m1.invoke(a, "hello ","nihao ");                    System.out.println("================");                     Method m2 = c.getMethod("print");            m2.invoke(a);                               } catch (Exception e) {            e.printStackTrace();        }//      c.getDeclaredMethods()    }}class A{    public void print(){        System.out.println("hello world");    }    public void print(int a, int b){        System.out.println(a+b);    }    public void print(String a,String b){        System.out.println(a+" "+b);    }}

以上代码已经很清晰,不再做具体介绍。

0 0
原创粉丝点击