什么是 Java 虚拟机?为什么 Java 被称作是“平台无关的编程语言”?
参考答案
Java 虚拟机是一个可以执行 Java 字节码的虚拟机进程。Java 源文件被编译成能被 Java 虚
拟机执行的字节码文件。
Java 被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重
写或者是重新编译。Java 虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和 其
他特性。
JDK 和 JRE 的区别是什么?
参考答案
Java 运行时环境(JRE)是将要执行 Java 程序的 Java 虚拟机。它同时也包含了执行 applet
需要的浏览器插件。Java 开发工具包(JDK)是完整的 Java 软件开发包,包含了 JRE,编译
器和其他的工具(比如:JavaDoc,Java 调试器),可以让开发者开发、编译、执行 Java 应 用
程序。
”static”关键字是什么意思?Java 中是否可以覆盖(override)一个 private 或者是
static 的方法?
参考答案
“static”关键字表明一个成员变量或者是成员方法可以在没有所属的类的实例变量的情况下
被访问。
Java 中 static 方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而 static 方法是编
译时静态绑定的。static 方法跟类的任何实例都不相关,所以概念上不适用。
是否可以在 static 环境中访问非 static 变量?
参考答案
static 变量在 Java 中是属于类的,它在所有的实例中的值是一样的。当类被 Java 虚拟机载
入的时候,会对 static 变量进行初始化。如果你的代码尝试不用实例来访问非 static 的变量,编
译器会报错,因为这些变量还没有被创建出来,还没有跟任何实例关联上。
Java 支持的数据类型有哪些?什么是自动拆装箱?
参考答案
Java 语言支持的 8 种基本数据类型是:
byte
short
int
long
float
double