0

我对 java 有点陌生,如果有人能向我解释以下代码示例,我会很高兴。这只是一个示例 java 代码片段,用于说明。但主要问题是,如果 Learn 类使用也是类 Object 的参数初始化另一个类 Smart ,那么将点类添加到类 Object Sample 对我来说有点混乱。任何解释将不胜感激。如果这是一个基本问题,我深表歉意。谢谢。

class Learn {
//some codes 
Smart smart = new Smart(Sample.class);
//some codes
} 
4

3 回答 3

4

Sample是一个类的名称。它不是一个对象。Anew Sample()是一个对象,其类是SampleSample.class是一个对象,其类是java.lang.Class描述类Sample

于 2012-07-30T06:21:54.120 回答
0

我将通过以下方式打破你的例子....

学习 -是一个Class

smart -是一个Object Reference Variabletype Smart,我们可以说 Class Learn 有一个 Smart 类型的引用。

Sample.class -是一种获取Class<T>特定类型的方法。

从 Java 文档中提取。

During implementation it depends on the Targeting bytecode version. If -target 1.4 (or below), a call to Class.forName() is inserted into your code in a static method which is called during type initialization. If you use -target 1.5 (or above) the constant pool gets a "class" entry

有关详细信息,请参阅Java 语言规范的第 15.8.2 节

于 2012-07-30T06:34:32.957 回答
0
  1. 在java中,有一个类叫做“Class”,代表类和接口。
  2. 有几种方法可以获取类“Class”的实例。请看一下 java.lang.Class 文件。
    • Class.forName(字符串类名)
    • obj.getClass() -obj 是任何类实例
    • Sample.class -Sample 是一个类
  3. 您正在使用第三种方法来获取类“Sample”的实例。
于 2012-07-30T06:40:14.963 回答