0

我从未专门与class literals. 我认为它们主要用于反射 apis 。我想了解类文字可以有多少个实例?他们是instance controlled(例如单身人士?)

Class<String> stringClass = String.class;
4

2 回答 2

1

Class 对象(至少在理论上)是在加载类时创建的。每班只有一个。但是,将其称为单例是不正确的,因为有多个 Class 对象,每个对象对应一个给定的类,就像您可以拥有多个具有不同值的 String 对象一样。

请注意,如果它们由不同的类加载器加载,则可以有两个名为“abc”的不同类对象。这将是两个不同的类(甚至可能不相似)和两个不同的 Class 对象。

于 2013-02-18T18:46:48.093 回答
0

类由类加载器作为堆中的对象加载。

所以每个类加载器只存在一个类文字实例。

但是,您可以在代码中创建尽可能多的类型类实例。

于 2013-02-18T18:47:13.893 回答