A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Thunder_-_Li 中级黑马   /  2013-10-14 08:36  /  911 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

java中的反射
Class 类的名字代表的一类事物--->描述这些事物的java类名就是Class 中保存的就是字节码文件。
字节码 二进制代码  加载到内存中的数据。
class.forName();需要
java框架(ssh)中需要反射技术
Class 会提供相应的方法来返回一些东西
字节码:
getClass();获得字节码
forName();返回字节码
Class 字节码文件。
获得各个字节码对应的实例对象(Class类型)
类名.class
对象.getClass();
Class.forName(“”);反射的时候通常用第三种。
9个基本数据类型(包含void)
数组类型的Class实例对象。
总之只要是在源程序中出现的类型都有各自的Class的类型
数组类型的实例对象Class.isArray();
总之只要是在源程序中出现的类型,都有各自的Class实例对象。

反射就是把java类中的各个成分映射成相应的java类
自我理解 反射就是对所有类的基本概括。属于对类的一个总结类。把java类的每一个成分解析成为一个类。




反射中 Constructor类
一份Class文件就是一个字节码文件
Constructor 就是字节码文件里一份构造方法
constructor 类代表某个类中的一个构造方法

1、得到某个类所有的构造方法
Contructor c[]=Class.forName("class").getContructors();存储在一个数组中
2、得到某一个构造方法

Contructor c=Class.forName("java.lang.String").getContructor(StringBuffer.class);
给构造方法提供一段字节码文件的参数
Contructor contructor1= String .class.getContructor(String Buffer.class);
contructor1.newInstance(new StringBuffer("abc"));
Filed成员变量的反射。
通过getField()方法来获取值。
field  不代表具体的对象变量,而是类上的变量
可以通过 get(对象)
对于私有变量 可以通过暴力反射 setAccessible();设置访问权限。
用反射执行某个类的main方法

评分

参与人数 1技术分 +1 收起 理由
周志龙 + 1

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马