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