该.class语法是一样的语法来访问静态字段,但它实际上不是一个静态字段; 这是一种特殊的语言功能.它类似于数组的length属性,它被视为一个字段但实际上并不存储为一个字段.
要查看差异,请考虑以下示例类:
class Test {
public static Class<Test> myClass = Test.class;
}
Run Code Online (Sandbox Code Playgroud)
跑步javap Test给
class Test {
public static java.lang.Class<Test> myClass;
Test();
static {};
}
Run Code Online (Sandbox Code Playgroud)
如您所见,Test.myClass由于我们自己声明了它,因此存储为静态字段,但Test.class由于它实际上并未存储为静态字段,因此不会显示.
| 归档时间: |
|
| 查看次数: |
150 次 |
| 最近记录: |