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);
        }
    }

  • 相关阅读:
    栈的概念
    什么是 JavaConfig?
    数据库连接池的原理。为什么要使用连接池。
    根据你以往的经验简单叙述一下MYSQL的优化
    动态横切
    横切技术
    什么是AOP
    BIO ,NIO ,AIO 有什么区别?
    简述Comparable和Comparator两个接口的区别
    Spring Boot 客户端?
  • 原文地址:https://www.cnblogs.com/vonk/p/3953994.html
Copyright © 2011-2022 走看看