创建一个类的实例?

6

查看Integer类的源代码时,刚好看到下面这行代码:

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

getPrimitiveClass 是一个本地方法。

 static native Class getPrimitiveClass(String name);

为什么它变成了本地方法?我真的想知道。

如何为Class创建一个实例?这是否与正常方式创建实例有所不同,例如:Ex e = new Ex()


1
据我所知,您并没有创建一个实例。您只是获取了一个“Class”对象。 - biziclop
3
今天看起来这是一个时髦的话题,参见这里 - Mena
@biziclop 我的理解是“获取一个类对象=实例”? - Suresh Atta
好吧,至少有一个实例,即“Class”对象 :) - Kayaman
3
可能是 What does int.class mean 的重复问题。 - LBes
显示剩余2条评论
1个回答

2
该方法定义上面的注释说:
/*
 * Return the Virtual Machine's Class object for the named
 * primitive type.
 */
 static native Class getPrimitiveClass(String name);

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接