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