Java反射reflect学习笔记_1:反射的简述

//===================================================
// 反射的简述
//===================================================

<!--反射的描述
| 一个雷有很多组成部分,例如:成员变量,方法,构造方法等。
| 反射就是加载类,然后解剖出类的各个组成部分。
-->
 
 
<!--获得反射类的字节码
|
|--第一步,加载类
| 方法1.通过Class.forName()方法加载类
| Class clazz = Class.forName("com.marer.reflect.Person");
|  这句话一执行,将硬盘里面,类的字节码加载到内存中去,并使用Class对象进行封装
|
| 方法2.通过new类中的getClass()方法获取类的字节码
| Class clazz1 = new Person().getClass();
|
| 方法3.通过类的静态方法
    | Class clazz2 = Person.class;
|
|
|--第二步,解剖出类的各个组成部分
| Class对象提供了如下常用方法:
| Public Constructor getConstructor(...) 获取类中的构造函数
| Public Method getMethod(...) 获取类中的某一个构造方法
| Public Field getField(String name) 获取类中的某一个属性
|
| 上面几种方法只可以调出类中的public公共的内容,对于私有的内容不能调出,要使用下面几种方法
|
| 下面几种方法可以调出声明的内容:构造方法,方法,属性
| Public Constructor getDeclareConstructor(...) 
| Public Method getDeclareMethod(...) 
| Public Field geDeclaretField(String name)
-->
 转载请注明出处:http://blog.csdn.net/nthack5730/article/details/49822769
<!--
| 调用了上面这几种方法有什么用?
| 构造函数用来创建对象
| 字段用来封装数据
| 方法用来执行功能

-->


public class Demo1 {
	public static void main(String[] args) throws ClassNotFoundException{
		
		//1.
		Class clazz = Class.forName("com.marer.reflect.Person");
		
		//2.
		Class clazz1 = new Person().getClass();
		
		//3.
		Class clazz2 = Person.class;
		
	}
}



评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值