Java反射_构造函数
Java反射_构造函数
获取对象的构造函数
使用Java反射,您可以检查类的构造函数,并在运行时实例化对象。这样做是通过Java类java.lang.reflect.Constructor。本文将详细介绍Java构造函数对象。
获取对象的构造函数
构造器类是从类对象中获得的。这是一个例子:
Class aClass = ...//obtain class object
Constructor[] constructors = aClass.getConstructors();
构造函数数组将为类中声明的每个公共构造函数提供一个构造函数实例。
如果您知道想要访问的构造函数的精确参数类型,您可以这样做,而不是获取所有构造函数。这个例子返回给定类的公共构造函数,它将字符串作为参数:
Class aClass = ...//obtain class object
Constructor constructor = aClass.getConstructor(new Class[]{String.class});
如果没有构造函数与给定的构造函数参数匹配,在本例中是字符串。类,一个类的方法被抛出。
构造函数参数
您可以读取给定构造函数的参数如下:
Constructor constructor = ... // obtain constructor - see above
Class[] parameterTypes = constructor.getParameterTypes();
使用构造函数对象实例化对象
//你可以实例化一个对象:
//get constructor that takes a String as argument
Constructor constructor = MyObject.class.getConstructor(String.class);
MyObject myObject = (MyObject)
constructor.newInstance("constructor-arg1");
构造函数.newinstance()方法接受了一个可选数量的参数,但是必须在所调用的构造函数中提供每个参数的一个参数。在本例中,它是一个使用字符串的构造函数,因此必须提供一个字符串。
原文链接:http://www.jxszl.com/biancheng/JAVA/446599.html