1. 什么是 Java 虚构机 ? 为何 Java 被称作是“平台没关的编程语言”?
Java虚构机是一个能够履行 Java 字节码的虚构机进度。 Java 源文件被编译成能被 Java 虚构机履行的字节码文件。
Java被设计成同意应用程序能够运转在随意的平台,而不需要程序员为每 一个平台独自重写或许是从头编译。Java虚构机让这个变成可能,由于它知道基层硬件平台的指令长度和其余特征。
2. JDK 和JRE 的差别是什么 ?
Java运转时环境 (JRE) 是将要履行 Java 程序的 Java 虚构机。它同时也包括了履行 applet 需要的阅读器插件。 ava 开发工具包 (JDK) 是完好的 Java软件开发包,包括了 JRE ,编译器和其余的工具 ( 比方: JavaDoc ,Java 调试器 ) ,能够让开发者开发、编译、履行 Java应用程序。
3. ”static ”重点字是什么意思 ?Java 中能否能够覆盖 (override) 一个private 或许是 static 的方法 ?
“static ”重点字表示一个成员变量或许是成员方法能够在没有所属的类的实例变量的状况下被接见。
Java中 static方法不可以被覆盖,由于方法覆盖是鉴于运转时动向绑定 的,而 static方法是编译时静态绑定的。static方法跟类的任何实例都不相关,所以观点上不合用。
4. 能否能够在 static 环境中接见非 static 变量 ?
static变量在 Java中是属于类的,它在全部的实例中的值是相同的。当类被 Java 虚构机载入的时候,会对static变量进行初始化。假如你的代码尝试不用实例来接见非 static 的变量,编译器会报错,由于这些变量还没有被创建出来,还没有跟任何实例关系上。



