【译】3. Java反射——构造函数
原文地址:http://tutorials.jenkov.com/java-reflection/constructors.html
=====================================================================================================
使用Java反射,你可以在运行时检查类的构造函数和实例化对象。这是通过Java类java.lang.reflect.Constructor做的。本文将会更详细的介绍Java中的Constructor对象。下面是所涵盖的主题列表:
- Obtaining Constructor Objects (获取Constructor对象)
- Constructor Parameters (Constructor的参数)
- Instantiating Objects using Constructor Object (通过Constructor对象实例化对象)
=====================================================================================================
- Obtaining Constructor Objects
Constructor对象可以从Class对象中获取。下面是一个例子:
Class aClass = ...//obtain class object
Constructor[] constructors = aClass.getConstructors();
数组Constructor[ ]将会存储在类中所有声明为public的构造函数的Constructor实例。
如果你知道你要访问的构造函数的精确参数类型,你可以这样做而不是获取所有的构造函数。这个例子返回给定类的一个public的且接收一个String类型的变量作为参数的构造函数:
Class aClass = ...//obtain class object
Constructor constructor = aClass.getConstructor(new Class[]{String.class});
如果没有和给定的参数相匹配的构造函数,会抛出NoSuchMethodException异常。
=====================================================================================================
- Constructor Parameters
你可以像这样读取一个给定的构造函数所接收的参数:
Constructor constructor = ... // obtain constructor - see above
Class[] parameterTypes = constructor.getParameterTypes();
=====================================================================================================
- Instantiating Objects using Constructor Object
你可以像这样实例化一个对象:
//get constructor that takes a String as argument
Constructor constructor = MyObject.class.getConstructor(String.class);
MyObject myObject = (MyObject) constructor.newInstance("constructor-arg1");
Constructor.newInstance( )方法接受不定个数的参数,但是你必须提供你调用的构造函数需要的每个参数。在这种情况下,调用接受一个String类型参数的构造函数,你必须提供一个String类型的参数。
========================================================================================
- 目录
这是一个本教程到目前为止涵盖的主题列表:
- Java反射——引言
- Java反射——Class对象
- Java反射——构造函数
- Java反射——字段
- Java反射——方法
- Java反射——Getter和Setter
- Java反射——私有字段和私有方法
- Java反射——注解
- Java反射——泛型
- Java反射——数组
- Java反射——动态代理
- Java反射——类的动态加载和重新加载
(敬请期待下一篇翻译)
【译】3. Java反射——构造函数的更多相关文章
- 【译】1. Java反射——引言
原文地址:http://tutorials.jenkov.com/java-reflection/index.html *By Jakob Jenkov Java的反射机制使得它可以在运行时检查类.接 ...
- 【译】2. Java反射——Class对象
原文地址:http://tutorials.jenkov.com/java-reflection/classes.html ====================================== ...
- 【译】4. Java反射——字段
原文地址:http://tutorials.jenkov.com/java-reflection/fields.html ======================================= ...
- 【译】5. Java反射——方法
原文地址:http://tutorials.jenkov.com/java-reflection/methods.html ====================================== ...
- 【译】6. Java反射——Getter和Setter
原文地址:http://tutorials.jenkov.com/java-reflection/getters-setters.html ============================== ...
- 【译】7. Java反射——私有字段和私有方法
原文地址:http://tutorials.jenkov.com/java-reflection/private-fields-and-methods.html =================== ...
- 【译】8. Java反射——注解
原文地址:http://tutorials.jenkov.com/java-reflection/annotations.html ================================== ...
- 【译】9. Java反射——泛型
原文地址:http://tutorials.jenkov.com/java-reflection/generics.html ===================================== ...
- 【译】10. Java反射——数组
原文地址:http://tutorials.jenkov.com/java-reflection/arrays.html ======================================= ...
随机推荐
- WPF程序中App.Config文件的读与写
WPF程序中的App.Config文件是我们应用程序中经常使用的一种配置文件,System.Configuration.dll文件中提供了大量的读写的配置,所以它是一种高效的程序配置方式,那么今天我就 ...
- Lodop打印控件 打印‘接下一页’‘以下空白’
Lodop打印控件中,超文本超过设置的打印项高度 或超过纸张,就会自动分页,纯文本通过设置为多页项也可以根据打印项高度自动分页,Lodop中还提供了许多手动分页的方法,对于多页文档中(自动分页或手动分 ...
- .net core compatibility windows & windows compatible Linux
Who is this package for? This package is meant for developers that need to port existing .NET Framew ...
- AMD直奔5nm!这一步棋下得妙
AMD今年将推出采用7nm工艺的第二代EPYC霄龙.第三代Ryzen锐龙处理器,其中后者已经在CES 2019上公开首秀,性能追评i9-9900K,功耗则低得多. 虽然被称为“女友”的GlobalFo ...
- 洛谷P1226 【模板】快速幂||取余运算
题目描述 输入b,p,k的值,求b^p mod k的值.其中b,p,k*k为长整型数. 输入输出格式 输入格式: 三个整数b,p,k. 输出格式: 输出“b^p mod k=s” s为运算结果 S1: ...
- Cetos 7 系统安装备注事项
说明:此篇内容为个人记录备注事项,具体的安装操作请参考其他教程: 系统安装: 公司的服务器型号为戴尔R330 卡片式服务器,安装过程中遇到一些问题,此文章中简单记录下 1.下载一份Cetos 系统镜像 ...
- Android学习第6天
创建一个新的activity 四大组件需要在清单文件中配置 可在清单文件中配置多个启动图标过单个启动图标 Activity下的lable和icon属性可以和Application节点的属性不一样,默认 ...
- 【ARC072E】Alice in linear land DP
题目大意 有一个人要去直线上\(lm\)远处的地方,他会依次给他的机器发出\(n\)个指令.第\(i\)个指令为\(d_i\).他的机器收到一个指令\(x\)后,如果向目的地方向前进\(xm\)后比当 ...
- 【BZOJ1580】【USACO2009Hol】杀手游戏 计算几何
题目描述 一个平面上有很多个点在运动.给你每个点的初始坐标和每个点的速度,求出最多有多少个点到\(0\)号店的距离同时不超过\(r\). \(n\leq 50000\) 题解 我们先把\(0\)号点平 ...
- pytorch解决鸢尾花分类
半年前用numpy写了个鸢尾花分类200行..每一步计算都是手写的 python构建bp神经网络_鸢尾花分类 现在用pytorch简单写一遍,pytorch语法解释请看上一篇pytorch搭建简单网 ...