java的一些基本常識
1.什麽是java虛擬機?為什麽把java稱作是“無關平臺的語言”?
java虛擬機是一個可以執行Java字節碼的虛擬進程。Java源文件被編譯成能被Java虛擬機執行的字節碼文件。
Java 被設計成允許應用程序可以運行在任意的平臺,而不需要程序員為每一個平臺單獨重寫或者是重新編譯。
Java 虛擬機讓這個變為可能,因為它知道底層硬件平臺的指令長度和其他特性。
2.JDK和JRE的區別?
JDK是java開發工具包,包括JRE,編譯器和其他工具(如:javaDOc、java調試器)。
JRE是java的運行環境,包括java虛擬機和java程序所需要的核心類庫。
3.Java支持多繼承麽?如果不支持,如何實現?
在java中是單繼承的,也就是說一個類只能繼承一個父類。
java中實現多繼承有兩種方式,一是接口,而是內部類.
4.接口和抽象類的區別是什麽?
不同點在於:
接口中所有的方法隱含的都是抽象的。而抽象類則可以同時包含抽象和非抽象的方法。
類可以實現很多個接口,但是只能繼承一個抽象類
類如果要實現一個接口,它必須要實現接口聲明的所有方法。但是,類可以不實現抽象類聲明的所有方法,當然,在這種情況下,類也必須得聲明成是抽象的。
抽象類可以在不提供接口方法實現的情況下實現接口。
Java 接口中聲明的變量默認都是 final 的。抽象類可以包含非 final 的變量。
Java 接口中的成員函數默認是 public 的。抽象類的成員函數可以是 private,protected 或者是 public 。
接口是絕對抽象的,不可以被實例化(java 8已支持在接口中實現默認的方法)。抽象類也不可以被實例化,但是,如果它包含 main 方法的話是可以被調用的。
java的一些基本常識