为Class创建实例?
查看Integer类的源代码,只是偶然发现下面这行
Class TYPE = (Class) Class.getPrimitiveClass("int");
getPrimitiveClass
是一个本机方法。
static native Class getPrimitiveClass(String name);
为什么它成为一种本地方法? 真的很想知道。
如何为Class
创建实例? 这是否与为ex创建实例的常规方式不同: Ex e = new Ex()
?
方法定义上面的注释说:
/* * Return the Virtual Machine's Class object for the named * primitive type. */ static native Class getPrimitiveClass(String name);
由于(至少Sun的)虚拟机是用C实现的,所以我认为这就是该方法native
的原因。