反射机制学习2(构造方法创建对象)
来源:互联网 发布:一颗五角星的淘宝买家 编辑:程序博客网 时间:2024/06/05 21:06
package com.mypractice.second;public class MessageDemo {private String name;private int age;public MessageDemo(){name = "zhutianpeng";age = 22;}public MessageDemo(String name){this.name = name;age = 22;}public MessageDemo(String name,int age){this.name = name;this.age = age;}public void getMessage(){System.out.println("name:"+name+"\nage:"+age);}}
package com.mypractice.second;import java.lang.reflect.Constructor;import java.lang.reflect.InvocationTargetException;public class MessageDemoTest {/** * @param args * @throws NoSuchMethodException * @throws SecurityException * @throws InvocationTargetException * @throws IllegalAccessException * @throws InstantiationException * @throws IllegalArgumentException */public static void main(String[] args) throws SecurityException, NoSuchMethodException, IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException {//使用无参构造函数,反射出对象Class c = MessageDemo.class;//获取Class类Constructor con = c.getConstructor(null);//获取无参构造函数Object o = con.newInstance();//并new一个新实例MessageDemo o1 = (MessageDemo)o;//类型强制转换o1.getMessage();//打印信息//使用有残构造函数反射对象MessageDemo messageDemo = new MessageDemo();//创建该类对象Class c1 = messageDemo.getClass();//获取Class类Constructor con1 = c1.getConstructor(String.class);//获取一个参数的构造函数MessageDemo messageDemo1 = (MessageDemo)con1.newInstance("朱天鹏");//根据获取的构造参数new一个新对象,并构造参数的值messageDemo1.getMessage();//打印信息}}运行结果:
总结:
1获取Class类有两种方法:
①先new一个对象,并通过该对象的getClass()方法返回Class类;
②直接只用类名调用class(即类.class),返回Class类。
2.在调用无参构造函数时,必须传入null,不可不传值。
例如
Constructor con = c.getConstructor(null);
0 0
- 反射机制学习2(构造方法创建对象)
- 反射机制学习1(反射创建对象)
- 反射获取构造方法并创建对象
- 反射 创建对象及访问构造方法
- 通过反射机制创建一个构造方法中参数数量可变的对象
- [java]反射机制给属性使用set方法构造对象
- 反射机制(2)动态创建并调用对象
- 通过反射创建对象(有参数和无参数构造方法)
- 通过反射可以获取Class的构造方法 通过构造方法创建对象
- Java反射机制创建对象
- java反射机制创建对象
- Java反射机制创建对象
- Java反射机制创建对象
- Java反射机制创建对象
- JAVA反射机制创建对象
- [Java]反射机制及构造对象
- Java通过反射机制使用非默认构造器创建对象
- 对象池创建java对象反射机制
- 系统更新后 xcode5.1 崩溃
- 黑马程序员——银行调度系统
- 高效的字节数组拷贝
- win8 LIC1416N 许可证不能自动添加至节点锁定文件返回码是100.
- 二分图大讲堂——彻底搞定最大匹配数(最小覆盖数)、最大独立数、最小路径覆盖、带权最优匹配
- 反射机制学习2(构造方法创建对象)
- Java编程思想笔记——第19章枚举类型
- myeclipse 8.5 注册码 - 过期时间到2016年
- 栈
- Uva 10106 Product (高精度相乘)
- 华为机试--捡石子
- Handler(-)的定义:
- eclipse搭建android环境以及android机构目录说明
- Java RandomAccessFile用法