zoukankan      html  css  js  c++  java
  • 通过class类来实例化其他类的对象(使用有参构造函数)

    import java.lang.reflect.Constructor;
    import java.lang.reflect.InvocationTargetException;

    class Person {
        private String name;
        private int age;

        public Person(String name, int age) {
            super();
            this.name = name;
            this.age = age;
        }

        public String getName() {
            return name;
        }

        public int getAge() {
            return age;
        }

        public void setAge(int age) {
            this.age = age;
        }

        @Override
        public String toString() {
            return "Person [name=" + name + ", age=" + age + "]";
        }

        public void setName(String name) {
            this.name = name;
        }
    }

    public class InstanceDemo01 {
        public static void main(String[] args) {
            System.err.println(Person.class.getName());
            Class<?> c = null;
            try {
                c = Class.forName("Charp17Reflact.Person");
            } catch (Exception e) {
                e.printStackTrace();
            }
            Person per = null;
           Constructor<?> cons[]=null;
            cons=c.getConstructors();
            try {
                per=(Person)cons[0].newInstance("VON fff",30);
            } catch (IllegalArgumentException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (InstantiationException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IllegalAccessException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (InvocationTargetException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    //        try {
    //            per = (Person) c.newInstance();
    //        } catch (InstantiationException e) {
    //            e.printStackTrace();
    //        } catch (IllegalAccessException e) {
    //            e.printStackTrace();
    //        }
    //        per.setAge(82);
    //        per.setName("von");
            System.out.println(per);
        }
    }

  • 相关阅读:
    性能相关记录
    邮箱SMTP
    IntelliJ IDEA 14.1.7 安装激活
    pychram永久激活
    电脑的奇葩坑
    jmeter过程中的坑
    各数据库驱动连接配置
    spring定时器--时间设置规则
    linux redhat7.2下vim的安装与使用方法
    分数化小数
  • 原文地址:https://www.cnblogs.com/vonk/p/3953994.html
Copyright © 2011-2022 走看看