一、什麼是Java虛擬機?爲什麼Java被稱作是“平臺無關的編程語言”?
Java語言的跨平臺並不是指Java語言本身跨平臺,而是Java源程序編譯後的字節碼文件的跨平臺,Java程序執行過程是Java源文件編譯成.class字節碼文件,再由jvm翻譯成不同操作平臺的機器碼並執行,跨平臺就是在不同操作平臺安裝不同的jvm,而字節碼文件都是一樣的,這是因爲jvm屏蔽所有有關操作平臺的信息,字節碼文件翻譯成機器碼這個過程由jvm自主自動完成,我們只需要寫源代碼,再交由Javac編譯成字節碼文件即可。
jvm是抽象化的計算機,包含了指令集,寄存器,堆,棧,方法區,垃圾回收,jvm負責將Java字節碼文件翻譯成不同操作平臺的機器碼。
二、JAVA三大特性:封裝,繼承和多態!!!
三、JAVA支持多繼承嗎?
Java中類不支持多繼承,只支持單繼承(即一個類只有一個父類),但多繼承的效果可以通過實現多個接口來間接完成(單繼承,多實現)。 java中的接口支持多繼承,即一個子接口可以有多個父接口。(接口的多繼承不存在父接口中有同名方法的問題,因爲接口中都是抽象方法,沒有具體實現,不存在衝突,但是如果定義了相同的常量,則不能使用,會提示不明確的變量,必須通過接口名顯示調用)