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

使用运行时创建对象。,同样是运行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;

        }

}    

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 132,246评论 18 139
  • 一:java概述: 1,JDK:Java Development Kit,java的开发和运行环境,java的开发...
    慕容小伟阅读 1,646评论 0 10
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 2,390评论 0 11
  • 突然 我们有48小时没有联系了 朋友和女朋友之间 你好像选择了朋友
    Cunliren阅读 91评论 0 0
  • 1月2日,我发贴子《我看〈芳华〉》,其中指出影片开头那个战士写大标语的法子太笨: 今偶见一图,其中也有写大标语的高...
    译者肖聿_5687阅读 194评论 0 0