笔记--反射(Reflect)基石之Class类--2011/9/5 10:17

反射源于JDK1.2版本,各种框架的开发和学习之根本。

首先:java中的类用于描述一类事物的共性,该类事物有什么属性,没有什么属性,至于这个属性的值是什么,怎是由这个类的实例对象来确定的,不同的实例对象有不同的属性。。Java程序中的各个Java类,它们是否属于同一类事物,是不是可以用一个类来描述这类事物呢?这个类的名字就是 Class,要注意与小写class关键字的区别。Class类描述的信息包括:类的名字,类的访问属性,类所属于的包名,字段名称列表、方法名称列表,等等。学习反射首先就要弄明白Class这个类。 

Class对象:

包含了与类相关的信息。事实上,Class对象就是用来创建类的所有的“普通”对象的。

类是程序的一部分跟,每个类、都有一个Class对象。换言之,每当编写并且编译了一个新类,就会产生一个Class对象(恰当地说,是被保存在一个同名的.class文件中)。在运行时,当我们想生成这个类的对象时,运行这个程序的Java虚拟机首先检查这个类的Class对象是否已经加载。如果未加载,JVM就会根据类名查找.class文件,并将其载入。

一旦每个列的Class对象被载入内存,它就会用来创建这个类的所有对象。

获得Class实例的方式:

1)利用对象电泳getClass()方法获取该对象的Class实例

2)利用Class类的静态方法forName(),用类的名字获取一个Class实例

3)运用.class的方式来获取Class实例,对于基本数据类型的封装类,还乐意采用.TYPE来获取相对应的基本数据类型的Class实例


其中值得注意的:

Class.forName("java.lang.String");

这个方法是Class类的静态方法,Class对象就和其他对象一样,我们可以获取别操作它的引用。forName()是取得Class对象的引用的一种方法。它是用一个包含目标类的文本名的完整名称作为参数,返回一个Class对象的引用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值