本文為大家整理了幾道國外的java面試題,聽說也難倒了不少人。下面就讓我們一起來看看這些面試題,看看他們到底有趣在哪裡。
1、下面Java程式碼的輸出是什麼?
public class Test { public static void main(String[] args) { method(null); } public static void method(Object o) { System.out.println("Object method"); } public static void method(String s) { System.out.println("String method"); } }
答案:
將列印「String method」。首先,null 在 Java 中不是一個對象,在 Java 中我們可以將 null 賦給任何一個參考型別。而 Java 中的字串是 Java.lang.String 類別的物件。在這裡,Java 編譯器會選擇使用最特定的參數類型來呼叫重載方法。而String類型比Object更為具體,所以會呼叫method(String s)方法。
2、下面Java程式碼的輸出是什麼?
public class Test{ public static void main(String[] args){ Integer num1 = 100; Integer num2 = 100; if(num1 == num2){ System.out.println("num1 == num2"); } else{ System.out.println("num1 != num2"); } } }
答案:
將列印「num1 == num2」。每當使用“ == ”比較兩個不同的物件參考時,值總是“false”。但在這裡,由於 Integer 緩存,num1和 num2是自動裝箱的。因此num1 == num2回傳「true」。同時,整數快取只會發生在-128到127之間的值。
3、垃圾收集是如何防止Java應用程式記憶體不足的?
答案:
Java 垃圾收集器無法防止 Java 應用程式耗盡記憶體。它只是在物件超出範圍且不再需要時清除未使用的記憶體。因此,它不能保證防止Java應用程式不耗盡記憶體!
(學習影片分享:java影片教學)
4、Java 是「按引用傳遞」還是「按值傳遞」
#答案:
Java總是「按值傳遞」。然而,當我們傳遞一個物件的值時,我們傳遞對它的引用,因為變數儲存物件引用,而不是物件本身。但這不是“引用傳遞”,這可能會讓初學者感到困惑。
5、下面的程式碼建立了多少個String物件
public class Test{ public static void main(String[] args){ String s = new String("Hello World"); } }
答案:
已經建立了2個String物件。一個在堆記憶體中,一個在方法區中的字串常數池中。
6、下面的程式碼輸出是什麼
public class Test{ public static void main(String[] arr){ System.out.println(0.1*3 == 0.3); System.out.println(0.1*2 == 0.2); } }
答案:
第一句print輸出false,第二句print輸出true。因為浮點數的誤差捨入導致,只有2的冪數可以用簡單的二進位表示法精確表示。不對應2次方的數字必須四捨五入以適應有限數量的位,因此,0.1*3是不等於0.3的。
7、有沒有可能在 Java 中重寫或重載靜態方法?
答案:
重載(overload)靜態 Java 方法是可能的,但是不可能重寫(override)它們。你可以在子類別中編寫具有相同命名的另一個靜態方法,但它不會重寫超類別方法。它在 Java 中被稱為方法隱藏。
8、測試兩個double值是否相等的最可靠的方法是什麼?
答案:
Double.compare(d1, d2) == 0
9、如果 try 或 catch 區塊執行一個 return 語句,finally 區塊是否會被執行?
答案:
會執行。阻止 finally 區塊執行的唯一方法是使用System.exit()。
10、下面的程式碼輸出是什麼
public class Test{ public static void main(String[] args){ System.out.println("main method"); } public static void main(String args){ System.out.println("Overloaded main method"); } }
答案:
#會列印「main method」。不會有錯誤或異常,因為 main 方法可以在 Java 中重載。必須從 main 方法內部呼叫它才能像其他方法一樣執行。
相關推薦:java面試題目及答案
#以上是你能答對這些棘手的java面試題麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能