黑马程序员技术交流社区
标题:
关于基础班反射的主要代码(欢迎补充)
[打印本页]
作者:
kangnam
时间:
2016-9-18 17:17
标题:
关于基础班反射的主要代码(欢迎补充)
package com.practice;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class ReflectDemo {
public static void main(String[] args) throws Exception {
//获取Student 字节码对象
Class clazz =Class.forName("com.practice.Student");
//获取无参构造
Constructor c =clazz.getConstructor();
//创建对象实例
Object obj= c.newInstance();
System.out.println(obj);
/*
调用无参方法
Method method =clazz.getDeclaredMethod("run");
method.invoke(obj);*/
Method method =clazz.getDeclaredMethod("run1",String.class,int.class);
method.invoke(obj,"gujh",11);
//获取值修改参数
//暴力访问
Field f = clazz.getDeclaredField("name");
//值为true则指示反射的对象在使用时应该取消Java语言访问检查
f.setAccessible(true);
f.set(obj,"刘亦菲");
System.out.println(obj);
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2