zoukankan      html  css  js  c++  java
  • 利用反射创建对象

    有参构造器的类:

    public class Demo {
        private String a;
        private Integer b;
    
        public Demo(String a) {
            this.a = a;
        }
    
        public Demo(Integer b) {
            this.b = b;
        }
    
        public String getA() {
            return a;
        }
    
        public Integer getB(){
            return b;
        }
    
    }

    无参构造器的类:

    public class Demo2 {
        public String getString(String s){
            return s;
        }
    }

    测试类:

    public class Test {
        public static void main(String[] args) throws Exception {
            //反射,用指定的构造器新建一个对象
            Class c = Demo.class;
            Constructor<Demo> constructor = c.getConstructor(String.class);//通过构造器参数类型查找构造器
            Demo demo = constructor.newInstance("aa");
            System.out.println(demo.getA());
    
            Constructor<Demo> constructor1 = c.getConstructor(Integer.class);//通过构造器参数类型查找构造器
    Demo demo1 = constructor1.newInstance(2); System.out.println(demo1.getB()); //反射,用默认构造器创建对象 Class c2 = Demo2.class; Demo2 demo2 = (Demo2) c2.newInstance(); System.out.println(demo2.getString("dddd")); } }

    输出:

    aa
    2
    dddd

  • 相关阅读:
    EL表达式与JSTL
    JSP
    session
    四则运算 第二次
    第二次作业
    四则运算
    用户使用手册与测试报告
    系统设计和任务分配
    需求规格说明书和原型设计
    用户需求分析和竞品分析
  • 原文地址:https://www.cnblogs.com/BonnieWss/p/11649268.html
Copyright © 2011-2022 走看看