• 技术文章 >java >java基础

    java反射生成对象的方法

    小妮浅浅小妮浅浅2021-04-29 10:03:09原创2209

    本教程操作环境:windows7系统、java10版,DELL G3电脑。

    1、两种生成方式

    使用Class对象的newInstance()方法制作该Class对应类实例(该方法要求该Class对应类有默认结构器)。

    使用Class对象获得指定的Constructor对象,然后调用Constructor对象的newInstance()方法制作该Class对象对应类的例子(这种方法可以选择指定的结构器制作例子)。

    2、实例

    class Person {
     
        private String name;
     
        private Integer age;
     
        public Person() {
            this.name = "system";
            this.age = 99;
        }
     
        public Person(String name, Integer age) {
            this.name = name;
            this.age = age;
        }
     
        public Integer getAge() {
            return age;
        }
     
        public String getName() {
            return name;
        }
     
        @Override
        public String toString() {
            return "Person{" +
                    "name='" + name + '\'' +
                    ", age=" + age +
                    '}';
        }
    }
     
     
    public class Test {
     
        public static void main(String[] args) throws Exception {
            Class<Person> pClass = Person.class;
            // 通过第1种方式创建对象
            Person p = pClass.newInstance();
            System.out.println(p);
            // 通过第2种方式创建对象
            Constructor<Person> constructor = pClass.getDeclaredConstructor(
                                                        String.class, Integer.class);
            Person person2 = constructor.newInstance("zhangsan",20);
            System.out.println(person2);
        }
    }

    可以通过包含键值对的配置文件创建对象。读取配置文件中的键值对,程序可以用键值对创建一个“字符串-对象”的对象池,然后通过字符串访问这些对象。

    以上就是java反射生成对象的方法,希望能对大家有所帮助。更多Java学习指路:Java基础

    专题推荐:java反射
    品易云
    上一篇:java中ordinal有什么用? 下一篇:java如何访问成员变量

    相关文章推荐

    • Java中Lambda的使用范围• 如何获取java类中的字段修饰符?• java反射如何读写字段?• java构造器如何创建实例?• java中valueOf方法如何使用?• java中ordinal有什么用?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网