通过反射获取class文件中的构造方法,运行构造方法
2024-08-24 01:23:18
/*
* 通过反射获取class文件中的构造方法,运行构造方法
* 运行构造方法,创建对象
* 1、获取class文件对象
* 2、从class文件对象中,获取需要的成员
*
* Constructor 描述构造方法对象类
*/
1、person类,用于测试获取无参的构造方法
package cn.itcast.demo1; public class Person {
public String name;
private int age; /*static{
System.out.println("静态代码块");
}*/ public Person(){
} public Person(String name,int age){
this.name = name;
this.age = age;
} private Person(int age,String name){
this.name = name;
this.age = age;
} public void eat(){
System.out.println("人吃饭");
} public void sleep(String s, int a,double d){
System.out.println("人在睡觉"+s+"....."+a+"....."+d);
}
private void playGame(){
System.out.println("人在打游戏");
} public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
} 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;
} }
2、获取无参构造方法测试类
public class ReflectDemo1 {
public static void main(String[] args) throws Exception { Class c = Class.forName("cn.itcast.demo1.Person");
//使用class文件对象,获取类中的构造方法
// Constructor[] getConstructors() 获取class文件对象中的所有公共的构造方法像person类中构造方法用private修饰的是获取不到的
/*Constructor[] cons = c.getConstructors(); //获取到的是多个构造方法
for(Constructor con : cons){
System.out.println(con);
}*/
//获取指定的构造方法,空参数的构造方法
Constructor con = c.getConstructor();//获取指定的构造方法
//运行空参数构造方法,Constructor类方法 newInstance()运行获取到的构造方法
Object obj = con.newInstance();
System.out.println(obj.toString());
}
}
最新文章
- css实现容器垂直水平居中的七中方法
- DOM之表格与表单基础分享
- 解决Eclipse里Maven工程报 An error occurred while filtering resources错误
- spring 集成 log4j 配置
- [转]bat批处理实现TXT文本合并
- JS中checkbox组件的使用
- web安全:click jacking
- ps&;&;/proc/pid/xxx
- 转:Linux中find命令-path -prune用法详解
- HDU1004题解分析(字符串处理)
- css背景图片、隐藏、指针、垂直居中、去除下划线、缩进、列表类型
- 关于springmvc接受简单参数和List集合数据的实现
- Sublime Text3 快捷键汇总及设置快捷键配置环境变量
- MyDAL - .Where() 之 .WhereSegment 根据条件 动态设置 Select查询条件 使用
- Windows环境下C++中关于文件结束符的问题
- flask_SQLALchemy之多表查询
- Week 3 结对编程
- 图->;遍历
- cloud-api-service和cloud-iopm-web提交merge方法
- jvm 知识点
热门文章
- 基础数据类型汇总补充;集合set ;深浅copy
- Hibernate 单项多对一的关联映射
- adroid swipeRefreshLayout无法显示进度条的问题
- bzoj 1670: [Usaco2006 Oct]Building the Moat护城河的挖掘 -- 凸包
- SQL 语句实现排序问题!
- jsoup-1.7.2.jar 包
- H2数据库使用 详解
- OSChina.net 的 Tomcat 配置 server.xml 参考
- 如何编译Linux内核
- android——根据MVC框架设计的结构