當前位置:編程學習大全網 - 編程語言 - java基礎面試題有哪些?

java基礎面試題有哪些?

下面是10道java基礎面試題,後附答案

1.什麽是 Java 虛擬機?為什麽 Java 被稱作是“平臺無關的編程語言”?

Java 虛擬機是壹個可以執行 Java 字節碼的虛擬機進程。Java 源文件被編譯成能被 Java 虛擬機執行的字節碼文件。

Java 被設計成允許應用程序可以運行在任意的平臺,而不需要程序員為每壹個平臺單獨重寫或者是重新編譯。Java 虛擬機讓這個變為可能,因為它知道底層硬件平臺的指令長度和其他特性。

2.“static”關鍵字是什麽意思?Java 中是否可以覆蓋(override)壹個 private 或者是static 的方法?

“static”關鍵字表明壹個成員變量或者是成員方法可以在沒有所屬的類的實例變量的情況下被訪問。

Java 中 static 方法不能被覆蓋,因為方法覆蓋是基於運行時動態綁定的,而 static 方法是編譯時靜態綁定的。static 方法跟類的任何實例都不相關,所以概念上不適用。

3.JDK 和 JRE 的區別是什麽?

Java 運行時環境(JRE)是將要執行 Java 程序的 Java 虛擬機。它同時也包含了執行 applet 需要的瀏覽器插件。Java 開發工具包 (JDK)是完整的 Java 軟件開發包,包含了 JRE,編譯器和其他的工具(比如:JavaDoc,Java 調試器),可以讓開發者開發、編譯、執行 Java 應用程序。

4.是否可以在 static 環境中訪問非 static 變量?

static 變量在 Java 中是屬於類的,它在所有的實例中的值是壹樣的。當類被 Java 虛擬機載入的時候,會對 static 變量進行初始化。如果妳的代碼嘗試不用實例來訪問非 static 的變量,編譯器會報錯,因為這些變量還沒有被創建出來,還沒有跟任何實例關聯上。

5.Java 支持的數據類型有哪些?什麽是自動拆裝箱?

Java 語言支持的 8 中基本數據類型是:

byte

short

int

long

float

double

boolean

char

自動裝箱是 Java 編譯器在基本數據類型和對應的對象包裝類型之間做的壹個轉化。比如:把 int 轉化成 Integer,double 轉化成 double,等等。反之就是自動拆箱。

6.Java 支持多繼承麽?

不支持,Java 不支持多繼承。每個類都只能繼承壹個類,但是可以實現多個接口。

7.Java 中,什麽是構造函數?什麽是構造函數重載?什麽是復制構造函數?

當新對象被創建的時候,構造函數會被調用。每壹個類都有構造函數。在程序員沒有給類提供構造函數的情況下,Java 編譯器會為這個類創建壹個默認的構造函數。

Java 中構造函數重載和方法重載很相似。可以為壹個類創建多個構造函數。每壹個構造函數必須有它自己唯壹的參數列表。

Java 不支持像 C++中那樣的復制構造函數,這個不同點是因為如果妳不自己寫構造函數的情況下,Java 不會創建默認的復制構造函數。

8.Java 中的方法覆蓋(Overriding)和方法重載(Overloading)是什麽意思?

Java 中的方法重載發生在同壹個類裏面兩個或者是多個方法的方法名相同但是參數不同的情況。與此相對,方法覆蓋是說子類重新定義了父類的方法。方法覆蓋必須有相同的方法名,參數列表和返回類型。覆蓋者可能不會限制它所覆蓋的方法的訪問。

9.接口和抽象類的區別是什麽?

Java 提供和支持創建抽象類和接口。它們的實現有***同點,不同點在於:

接口中所有的方法隱含的都是抽象的。而抽象類則可以同時包含抽象和非抽象的方法。

類可以實現很多個接口,但是只能繼承壹個抽象類

類如果要實現壹個接口,它必須要實現接口聲明的所有方法。但是,類可以不實現抽象類聲明的所有方法,當然,在這種情況下,類也必須得聲明成是抽象的。

抽象類可以在不提供接口方法實現的情況下實現接口。

Java 接口中聲明的變量默認都是 final 的。抽象類可以包含非 final 的變量。

Java 接口中的成員函數默認是 public 的。抽象類的成員函數可以是 private, protected 或者是 public。

接口是絕對抽象的,不可以被實例化。抽象類也不可以被實例化,但是,如果它包含 main 方法的話是可以被調用的。

10.什麽是值傳遞和引用傳遞?

對象被值傳遞,意味著傳遞了對象的壹個副本。因此,就算是改變了對象副本,也不會影響源對象的值。

對象被引用傳遞,意味著傳遞的並不是實際的對象,而是對象的引用。因此,外部對引用對象所做的改變會反映到所有的對象上。

最後祝妳面試順利!

  • 上一篇:什麽是ext?
  • 下一篇:斯坦福大學人生設計課
  • copyright 2024編程學習大全網