Java面试题大全及答案
1.什么是Java虚构机?为何Java被称作是“平台没关的编程语言”?Java虚构机是一个能够履行Java字节码的虚构机进度。Java源文件被编译成能被Java虚构机履行的字节码文件。
Java被设计成同意应用程序能够运转在随意的平台,而不需要程序员为每一个平台独自重写或许是从头编译。Java虚构机让这个变成可能,由于它知道基层硬件平台的指令长度和其余特征。
2.JDK和JRE的差别是什么?
Java运转时环境(JRE)是将要履行Java程序的Java虚构机。它同时也包括了履行applet需要的阅读器插件。Java开发工具包(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的变量,编译器会报错,由于这些变量还没有被创建出来,还没有跟任何实例关系上。
5.Java支持的数据种类有哪些?什么是自动拆装箱?
Java语言支持的8中基本数据种类是:
byte
short
int
long
float
double
booleanjava面试题及答案2020
char
自动装箱是Java编译器在基本数据种类和对应的对象包装种类之间做的一个转变。比方:把int转变成Integer,double转变成double,等等。反之就是自动拆箱。
6.Java中的方法掩盖(Overriding)和方法重载(Overloading)是什么意义?
中的方法重载产生在统一个类里面两个也许是多个方法的方法名不异Java
可是参数纷歧样的状况。与此相对,方法掩盖是说子类重新定义了父类的方法。方法掩盖肯
定有不异的方法名,参数列表和返回品种。掩盖者可能不会限制它所掩盖的方法的接见。
7.Java中,什么是结构函数?什么是结构函数重载?什么是复制结构函数?
当新对象被创立的时候,结构函数会被调用。每一个类都有结构函数。在程序员没有给类供给结构函数的状况下,Java编译器会为这个类创立一个默认的结构函数。
Java中结构函数重载和方法重载很相像。能够为一个类创立多个结构函数。每一个结构函数一定有它自己独一的参数列表。
Java不支持像C++中那样的复制结构函数,这个不一样点是由于假如你不自己写结构函数的状况下,Java不会创立默认的复制结构函数。
8.Java支持多继承么?
不支持,Java不支持多继承。每个类都只好继承一个类,可是能够实现多个接口。
9.接口和抽象类的差别是什么?
Java供给和支持创立抽象类和接口。它们的实现有共同点,不一样点在于:
接口中全部的方法隐含的都是抽象的'。而抽象类则能够同时包括抽象和非
抽象的方法。
类能够实现好多个接口,可是只好继承一个抽象类
类假如要实现一个接口,它肯定要实现接口说明的全部方法。可是,类能够不实现抽象类说明的全部方法,自然,在这类状况下,类也肯定得说明成是抽象的。
抽象类能够在不供给接口方法实现的状况下实现接口。
Java接口中说明的变量默认都是final的。抽象类能够包孕非final的变量。
Java接口中的成员函数默认是public的。抽象类的成员函数能够是private,protected或许是public。
接口是绝对抽象的,不可以够被实例化。抽象类也不可以够被实例化,可是,假如它包括main方法的话是能够被调用的。