一、什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?
Java语言的跨平台并不是指Java语言本身跨平台,而是Java源程序编译后的字节码文件的跨平台,Java程序执行过程是Java源文件编译成.class字节码文件,再由jvm翻译成不同操作平台的机器码并执行,跨平台就是在不同操作平台安装不同的jvm,而字节码文件都是一样的,这是因为jvm屏蔽所有有关操作平台的信息,字节码文件翻译成机器码这个过程由jvm自主自动完成,我们只需要写源代码,再交由Javac编译成字节码文件即可。
jvm是抽象化的计算机,包含了指令集,寄存器,堆,栈,方法区,垃圾回收,jvm负责将Java字节码文件翻译成不同操作平台的机器码。
二、JAVA三大特性:封装,继承和多态!!!
三、JAVA支持多继承吗?
Java中类不支持多继承,只支持单继承(即一个类只有一个父类),但多继承的效果可以通过实现多个接口来间接完成(单继承,多实现)。 java中的接口支持多继承,即一个子接口可以有多个父接口。(接口的多继承不存在父接口中有同名方法的问题,因为接口中都是抽象方法,没有具体实现,不存在冲突,但是如果定义了相同的常量,则不能使用,会提示不明确的变量,必须通过接口名显示调用)