这个词Java
有三个意思:
- 一种编程语言;
- 虚拟机(JVM)规范;
- 以及 Java 应用程序的运行时环境。
从编程语言的角度来看,它定义了语法和句法。它提供了有关如何使用该语言的说明。要了解.class
,您最好参考 JVM 规范(是的,它已经超出了语言范围)。
粗略地说,您的程序被彻底编译成.class
字节码格式的文件,包括固有的超类名称、实现的接口以及最重要的编译代码等。
运行程序时,所有.class
有助于其完成的 s 都应加载到 JVM 中。IIRC,类在您的程序第一次引用它们时加载,而不是在程序运行时加载,例如在导入指令中或通过.class
代码中的直接引用。
So to answer your question, the .class
syntax is not only used to refer class information, e.g. method definitions or static variables, but also enforce JVM load specific class. (If you are familiar with JDBC or have a chance play with it in the future, you will find .class
syntax can be used to enforce loading a database driver)