- Obtaining Constructor Objects
- Constructor Parameters
- Instantiating Objects using Constructor Object
在程序运行时,能通过Java反射你能获取到类的构造器。这是通过Java类java.lang.reflect.Constructor
完成的。通过这篇文你将得到更多关于构造器的信息。
获取构造器对象
构造器对象是通过Class对象获取的,比如:
1 | Class aClass = ...//obtain class object |
这个constructos数组中的值是类中每个申明为public的构造器。
如果你知道类中构造器的一些更具体的参数,你可以直接获取他而不是直接获取所有的。例子中返回了中有String参数的构造器的对象。
1 | Class aClass = ...//obtain class object |
如果类中没有申明有String参数的构造器,即没有找到时,getConstructor()
方法会抛出NoSuchMethodException
异常。
构造器的参数
你可以获取一个构造器的参数:
1 | Constructor constructor = ... // obtain constructor - see above |
生成类对象
你可以通过构造器生产对应的类对象:
1 | //get constructor that takes a String as argument |
Constructor.newInstance()
方法指定了一系列的参数,你必须准确的指定每个参数使得于你使用的构造器参数对应。在这个列子中,我们使用了一个带有String参数的构造器,所以必须知道一个String的值。