1. 程式人生 > >面試題(全)

面試題(全)

名稱 多個 runtime ide overload 父類 靜態 垃圾回收 double

基礎
1.簡述 JDK 跟 JRE 的區別
Jdk 是 java 開發人員在開發過程使用的軟件開發包,他提供了 java 的開發環境和運行環境 JRE 是 Java Runtime Enviroment 是指 Java 的運行環境 如果你只想跑 java 程序,只要安裝 jre 就夠了,如果要從事開發就得安裝 jdk。

2.簡述 path 跟 classpath 的區別
Path 是系統變量,跟 java 無關,裏面存放的是各種可執行的應用程序的路徑 Classpath 是給 java 使用的,從字面上來理解,就是類的路徑,主要是模仿 path,將類文件 的路徑配置到 classpath 中實現在系統的任何位置可以對類文件進行編譯和執行

3.Java 的關鍵字中有沒有 goto
Goto 是 java 中的保留字不是關鍵字的一員
4.”static”關鍵字是什麽意思?Java 中是否可以覆蓋(override)
一個 private 或者是 static 的方法?
“static”關鍵字表明一個成員變量或者是成員方法可以在沒有所屬的類的實例變量的情況下 被訪問。 Java 中 static 方法不能被覆蓋,因為方法覆蓋是基於運行時動態綁定的,而 static 方法是編 譯時靜態綁定的。static 方法跟類的任何實例都不相關,所以概念上不適用。

5.Java 中的方法覆蓋(Overriding)和方法重載(Overloading)是


什麽意思?
Java 中的方法重載發生在同一個類裏面兩個或者是多個方法的方法名相同但是參數不同的 情況。與此相對,方法覆蓋是說子類重新定義了父類的方法。方法覆蓋必須有相同的方法名, 參數列表和返回類型。覆蓋者可能不會限制它所覆蓋的方法的訪問。
6.Overload 和 Override 的區別?
方法的重寫 Overriding 和重載 Overloading 是 Java 多態性的不同表現。重寫 Overriding 是 父類與子類之間多態性的一種表現,重載 Overloading 是一個類中多態性的一種表現。如果 在子類中定義某方法與其父類有相同的名稱和參數,我們說該方法被重寫 (Overriding)。子 類的對象使用這個方法時,將調用子類中的定義,對它而言,父類中的定義如同被“屏蔽”了。 如果在一個類中定義了多個同名的方法,它們或有不同的參數個數或有不同的參數類型,則 稱為方法的重載(Overloading)。
7.接口和抽象類的區別是什麽?
Java 提供和支持創建抽象類和接口。它們的實現有共同點,不同點在於: 接口中所有的方法隱含的都是抽象的。而抽象類則可以同時包含抽象和非抽象的方法。 類可以實現很多個接口,但是只能繼承一個抽象類 類可以不實現抽象類和接口聲明的所有方法,當然,在這種情況下,類也必須得聲明成是抽 象的。 抽象類可以在不提供接口方法實現的情況下實現接口。 Java 接口中聲明的變量默認都是 final 的。抽象類可以包含非 final 的變量。 Java 接口中的成員函數默認是 public 的。抽象類的成員函數可以是 private,protected 或者 是 public。 接口是絕對抽象的,不可以被實例化。抽象類也不可以被實例化,但是,如果它包含 main 方法的話是可以被調用的。 也可以參考 JDK8 中抽象類和接口的區別。

8.接口是否可繼承接口? 抽象類是否可實現(implements)接
口? 抽象類是否可繼承實體類(concrete class)?
接口可以繼承接口。抽象類可以實現(implements)接口,抽象類是否可繼承實體類,但前提 是實體類必須有明確的構造函數。
9.Java 的基本數據類型跟引用數據類型分別有哪些?
Java 的基本數據類型有 8 個分別是 整數型 byte shrot int long char 浮點型 float double 字符型 char 布爾型 bollean
10.char 型變量中能不能存貯一個中文漢字? 為什麽?
char 型變量是用來存儲 Unicode 編碼的字符的,unicode 編碼字符集中包含了漢字,所以, char 型變量中當然可以存儲漢字啦。

11.簡述&和&&的區別
&和&&都可以用作邏輯與的運算符,表示邏輯與(and),當運算符兩邊的表達式的結果都 為 true 時,整個運算結果才為 true,否則,只要有一方為 false,則結果為 false。 &&還具有短路的功能,即如果第一個表達式為 false,則不再計算第二個表達式 &還可以用作位運算符
12.Java 中垃圾回收有什麽目的?什麽時候進行垃圾回收?
垃圾回收的目的是識別並且丟棄應用不再使用的對象來釋放和重用資源。
13.如果對象的引用被置為 null,垃圾收集器是否會立即釋放
對象占用的內存?
不會,在下一個垃圾回收周期中,這個對象將是可被回收的。

面試題(全)