黑马程序员技术交流社区
标题:
反射?Constructor Field Method
[打印本页]
作者:
Ethan丶
时间:
2015-9-21 00:22
标题:
反射?Constructor Field Method
以Person为例
package com.reflect.constructor;
/*
*
*/
import java.lang.reflect.Constructor;
public class ReflectDemo2 {
public static void main(String[] args) throws Exception {
/*
* 1.public Person
*/
// 获取字节码文件对象
Class c6 = Class.forName("com.reflect.Person"); // 获取代参构造方法对象
Constructor con = c6.getConstructor(String.class, int.class,
String.class);
// 通过代参构造方法创建对象
// public T newInstance(Object...initargs)
Object obj = con.newInstance("奥巴马",44, "美国");
System.out.println(obj);
/*
* 2.private Person
*/
Class c7 = Class.forName("com.reflect.Person");
Constructor con1 = c7.getDeclaredConstructor(String.class);
con1.setAccessible(true);
Object obj1 = con1.newInstance("普京");
System.out.println(obj1);
}
}
复制代码
作者:
Ethan丶
时间:
2015-9-21 00:23
Class c1=Class.forName("com.reflect.field.Person");
//构造方法
Constructor con = c1.getDeclaredConstructor();
Object obj = con.newInstance();
Field addressField=c1.getField("address");
//反射 逆向
addressField.set(obj, "北京");
System.out.println(obj);
复制代码
作者:
jiaweizhang
时间:
2015-9-21 01:34
这个是获取一个类的实例对象
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2