获取构造器信息

package d18_3_1;

import java.lang.reflect.Constructor;
import java.util.Arrays;
/**
* 获取构造器的四个方法
*
* 运行结果如下
* [private d18_3_1.Test2(), public d18_3_1.Test2(java.lang.String,int,java.lang.String), public d18_3_1.Test2(java.lang.String,int), protected d18_3_1.Test2(java.lang.String)]
* protected d18_3_1.Test2(java.lang.String)
* [public d18_3_1.Test2(java.lang.String,int,java.lang.String), public d18_3_1.Test2(java.lang.String,int)]
* public d18_3_1.Test2(java.lang.String,int)
*/
public class ClassInfo1 { public static void main(String[] args) throws NoSuchMethodException, SecurityException {
// 获取构造器的四个方法
Class c = Test2.class;
// 1 获取所有的构造器,不论是否私有
Constructor[] dcs1 = c.getDeclaredConstructors();
System.out.println(Arrays.toString(dcs1));
// 2获取在所有构造器中,指定的构造器
Constructor dc1=c.getDeclaredConstructor(String.class);
System.out.println(dc1);
// 3 获取所有public构造器
Constructor[] dcs2 = c.getConstructors();
System.out.println(Arrays.toString(dcs2));
// 4在所有public构造器中,获取指定的构造器
Constructor dc2=c.getConstructor(String.class,int.class);
System.out.println(dc2);
} } class Test2 {
private String name;
private int age;
String sex; private Test2() { } protected Test2(String name) {
super();
this.name = name;
} public Test2(String name, int age) {
super();
this.name = name;
this.age = age;
} public Test2(String name, int age, String sex) {
super();
this.name = name;
this.age = age;
this.sex = sex;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} @Override
public String toString() {
return "Test [name=" + name + ", age=" + age + "]";
} }

  

最新文章

  1. ASP.NET 实现站内信功能(点对点发送,管理员群发)
  2. Jquery实现静态切换tab
  3. C语言 多线程测试
  4. strace命令
  5. 【原创】jQuery插件 - Booklet翻书特效教程(一) 一般设置
  6. android camera(一):camera模组CMM介绍
  7. springboot实现简单的文件上传
  8. SVD分解 解齐次线性方程组
  9. C# .Net String字符串效率提高-字符串拼接
  10. Phpstorm-远程连接服务器实时编辑代码
  11. sprintf补位
  12. Linux之Redis安装
  13. K8S学习笔记之二进制部署Kubernetes v1.13.4 高可用集群
  14. style标签下的CSS代码的显示与实时编辑
  15. 如何用dat批处理文件关闭某端口对应程序-Windows自动化命令
  16. IDEA快捷键使用说明
  17. C++学习--入口函数
  18. 最全的Eclipse使用快捷键
  19. Android调用系统相机拍照保存照片很小解决方案
  20. mac 识别压缩文件类型

热门文章

  1. DTD复习笔记(复习资料为菜鸟教程里的DTD教程)
  2. xamarin.android Activity之间跳转与传值
  3. JSP JDBC 读取SQL Server 数据2
  4. DDD领域建模基本流程
  5. safi 中placeholder不垂直居中
  6. safair 的css hack
  7. mysql 数据库连接
  8. 初探linux子系统集之led子系统(一)【转】
  9. 总结 <stdlib.h>头文件 在算法中可能会用到的一些函数
  10. LoadRunner性能测试样例分析