美文网首页
Java反射机制:构造函数

Java反射机制:构造函数

作者: SHUTUP | 来源:发表于2016-07-13 20:38 被阅读415次

通过Java反射机制,我们可以在运行时检视类的构造函数并初始化对象。这一切都是通过java.lang.reflect.Constructor来实现的。本文将深入描述JavaConstructor对象。

Obtaining Constructor Objects

Constructor类的实例是通过Class对象来获取的,下面是示例代码:
<pre>
Class aClass = ...//obtain class object
Constructor[] constructors = aClass.getConstructors();
</pre>
类的每一个public的构造函数都会在Constructor[]数组中有对应的实例。
如果你精确知道你想要获取的构造函数的参数类型,你可以不必获取所有的构造函数,而是通过直接指定参数类型的方式来返回对应的构造函数,下面的例子返回了当前类的接受一个String类型参数的public构造函数,示例代码如下:
<pre>
Class aClass = ...//obtain class object
Constructor constructor =aClass.getConstructor(new Class[]{String.class});
</pre>
如果没有构造函数满足给定的匹配参数类型,比如我们这里的String.class,那么将抛出NoSuchMethodException异常。

Constructor Parameters

你可以像下面的例子代码一样来获取一个构造函数接受的参数类型列表。
<pre>
Constructor constructor = ... // obtain constructor - see above
Class[] parameterTypes = constructor.getParameterTypes();
</pre>

Instantiating Objects using Constructor Object

你可以像下面的代码一样来初始化一个对象:
<pre>
//get constructor that takes a String as argument
Constructor constructor = MyObject.class.getConstructor(String.class);

MyObject myObject = (MyObject)
constructor.newInstance("constructor-arg1");
</pre>
Constructor.newInstance()方法可以接受可变数量的参数,但是对于你调用的构造函数,你必须传入相同个数的参数。在我们的例子中构造函数接受一个String类型的参数,所以我们传入一个字符串"constructor-arg1"

原文

Java Reflection - Constructors

下一节

Java反射机制:变量

相关文章

  • Java基础之反射

    Java-Reflect Class类的使用 方法的反射 成员变量的反射 构造函数的反射 Java类加载机制 一、...

  • Java反射机制:构造函数

    通过Java反射机制,我们可以在运行时检视类的构造函数并初始化对象。这一切都是通过java.lang.reflec...

  • Java反射 - 构造函数

    Java反射——构造函数使用Java反射,您可以检查类的构造函数,并在运行时实例化对象。 这是通过Java类jav...

  • 反射Class

    class类的使用 方法的反射 成员变量的反射 构造函数的反射 Java类加载机制 反射帮我们做一些程序运行时刻的...

  • 2019-04-16

    Java使用反射机制生成对象的3种方式 一、在构造函数为空的情况下 普通对象Book,构造函数为空的情况下 1.使...

  • Java反射机制入门

    Java反射机制入门 一、什么是反射 JAVA反射机制(The JAVA reflection mechanism...

  • Java基础--反射

    什么是Java反射 概念 java反射是指java能够在运行时确定类的类型信息,包括其方法、字段、构造函数等,并能...

  • Java反射API

    Java反射API Java反射机制提供的功能 获取一个类的所有成员变量及方法(含构造方法(有/无 参数)) 创建...

  • 反射之一

    总结内容源自一下文章粗浅看java反射机制反射机制应用实践谈谈java反射机制Java Reflection(反射...

  • 反射之二

    总结内容源自一下文章粗浅看java反射机制反射机制应用实践谈谈java反射机制Java Reflection(反射...

网友评论

      本文标题:Java反射机制:构造函数

      本文链接:https://www.haomeiwen.com/subject/suqejttx.html