为Class创建实例?

时间:2015-08-13 08:49:04

标签: java class object instance

查看Integer类的源代码,只是偶然发现下面这行

Class<Integer>  TYPE = (Class<Integer>) Class.getPrimitiveClass("int");

getPrimitiveClass是一种原生方法。

 static native Class getPrimitiveClass(String name);

为什么它成为原生方法?真的很想知道。

如何为Class创建实例?这与为ex:Ex e = new Ex()创建实例的常规方式有所不同吗?

1 个答案:

答案 0 :(得分:2)

方法定义上方的评论说:

/*
 * Return the Virtual Machine's Class object for the named
 * primitive type.
 */
 static native Class getPrimitiveClass(String name);

由于(至少Sun的)虚拟机是用C实现的,所以我认为这就是该方法为native的原因。