Java中的运行期类型鉴定

来源:互联网 发布:淘宝助理是做什么工作 编辑:程序博客网 时间:2024/05/18 03:07


对于作为程序一部分的每个类,它们都有一个class对象。换言之,每次写一个新类时,同时也会创建一个class对象,更恰当的说,是保存在一个完全同名的.class文件中。在运行期,一旦我们想生成那个类的一个对象,用于执行程序的java虚拟机首先就会检查那个类型的class对象是否已经载入。若尚未载入,jvm就会查找同名的.class文件,并将其载入。一旦那个类型的class对象进入内存,就用它创建那一类型的所有对象。

1class对象

可以使用class.forName(类名)来得到class的句柄。注意类名是字符串,必要时需要加上包名

也可以使用类标识,如类名.class,这样做不仅更加简单,而且更安全,因为它会在编译期间得到检查。由于它取消了对方法调用的需要,所以执行的效率也会更高。类标识不仅可以应用于普通类,也可以应用于接口,数组以及基本数据类型。除此之外,针对每种基本数据类型的封闭器类,它还存在一个名为TYPE的标准字段。TYPE字段的作用是为相关的基本数据类型产生class对象一个句柄。

2、类型检查

一种是instanceof,另一种是isInstance

3、反射

Class方法提供getMethods()getConstructors()可以分别返回MethodConstructor的一个数组。

0 0
原创粉丝点击