通过构造函数实例化对象

Posted 默默红尘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过构造函数实例化对象相关的知识,希望对你有一定的参考价值。

 1 /**
 2  * Created by hunt on 2017/6/27.
 3  * 测试的实体类
 4  * @Data 编译后会自动生成set、get、无惨构造、equals、canEqual、hashCode、toString方法
 5  */
 6 @Data
 7 public class Person {
 8     private String name;
 9     private int age;
10     public Person(String name){
11         this.name = name;
12     }
13     public Person(int age){
14         this.age = age;
15     }
16     public Person(String name,int age){...}
17 
18 }
 1 import java.lang.reflect.Constructor;
 2 
 3 /**
 4  * Created by hunt on 2017/6/27.
 5  */
 6 public class NewInstanceTest {
 7     public static void main(String[] args) {
 8         Class<Person> personClass = Person.class;
 9         try {
10             Constructor<?> constructor  = personClass.getConstructor(java.lang.String.class);
11             Person p = (Person) constructor.newInstance("hunt");
12             System.out.println(p);
13         } catch (Exception e) {
14             e.printStackTrace();
15         }
16     }
17 }

总结:通过class.getConstructor(parameterTypes)获得对应的构造器,然后通过constructor.newInstance(parameterTypes)实例化对象。

以上是关于通过构造函数实例化对象的主要内容,如果未能解决你的问题,请参考以下文章

通过构造函数实例化对象

避免通过操作从私有构造函数间接实例化

片段事务中的实例化错误

C# 关于 构造函数问题 关于对象实例化

谈谈JS构造函数

在 php 中调用类方法(带构造函数)而不实例化对象