美文网首页
不知道参数类型的方法如何定义(运行时创建)

不知道参数类型的方法如何定义(运行时创建)

作者: godhong | 来源:发表于2018-03-13 15:21 被阅读0次

    使用运行时创建对象。,同样是运行show()方法,但是代码相差很多。

    区别:


        pojo:

    public class A{

        int a =1;

        public void show(){

            System.out.print(a);

        }

    }


        运行前创建对象: 

    public void printObject(A a){

        a.show();

    }


        运行时创建对象:


    public void printObject(Object a){

    //获取该类的class对象

        class<?> clazz = a.getClass();

    //通过class对象获取所有public方法,判断有没有show方法

        Method[] methods = clazz.getMethods();

        for(Method method : methods)

            if(method.getName.equals("show")){

            //调用show()方法

                method.invoke(a,null);    

                break;

            }

    }    

    相关文章

      网友评论

          本文标题:不知道参数类型的方法如何定义(运行时创建)

          本文链接:https://www.haomeiwen.com/subject/tgdzfftx.html