首頁 > Java > java教程 > Java面試題

Java面試題

WBOY
發布: 2024-08-30 16:28:56
原創
594 人瀏覽過

如果您正在尋找 Java 相關工作,則必須準備適合應屆生的 Java 面試問題。雖然每次面試的情況不同,工作範圍也不同,但我們可以幫助您解答 2023 年 Java 面試熱門問題和答案,這將幫助您在 Java 面試中取得飛躍並取得成功。

第 1 部分 – Java 面試問題(基礎)

第一部分涵蓋基本的面試問題和答案。

開始您的免費軟體開發課程

網頁開發、程式語言、軟體測試及其他

1. Java 中字串緩衝區和字串產生器的差異

答案:

這是面試官最喜歡問的問題之一;然而,卻常被考生回答得很慘。

以下是字串緩衝區和字串產生器之間的一些顯著差異,以便更好地理解。

2. StringBuilder 是 StringBuffer 類別的非同步版本。 StringBuilder 中的方法

例如,所有重載版本的append()方法都不是同步的。

  1. StringBuilder 比 StringBuffer 工作得更快,因為沒有取得和釋放與同步方法相關的鎖定的開銷。
  2. StringBuffer 被認為是線程安全的,而 StringBuilder 則不是。當需要同步時,建議使用StringBuffer類別。 StringBuilder 的實例不應在多個執行緒之間共用。
  3. StringBuffer 是舊類別;它從第一個版本就被納入 JDK 中,而 StringBuilder 是一個相對較新的類別。

3. Java程式找出整數陣列中最突出和最小的數字

答案:

用一個簡單的5點來回答這個問題

  • 建立一個名為 MaximumMinimumArrayDemo.java 的 Java 原始文件,並複製程式碼以在您最喜歡的 IDE 中編譯和執行。
  • 建立一個名為largest和smallest(int []數字)的方法來列印傳遞給程式的int數組中最突出和最小的數字。
  • 使用最大值和最小值變數來儲存數組中的最大值和最小值。最初,最大的值使用 Integer.MIN_VALUE 初始化,最小的值使用 Integer.MAX_VALUE 初始化。
  • 對於循環的所有迭代,比較當前數字的最大到最小並相應地更新它們。
  • 如果一個數字比最大的數字更重要,那麼它就不能小於最小的數字,這意味著你不需要檢查第一個條件是否準確;這就是為什麼我們使用if-else 程式碼區塊,其中else 部分僅在第一個條件無效時才會執行。

下面給出了Java中從陣列中找出最大元素的邏輯。

Java面試題

我們沒有使用 Integer.MAX_VALUE 分配變量,而是分配了數組中的第一個元素。

3. C++ 和 Java 有什麼差別?

答案:
C++和Java僅在語法比較上相似。差異如下:

  • Java 是多執行緒的
  • Java 沒有指標
  • Java有自動記憶體管理(垃圾回收)
  • Java 是平台無關的
  • Java 內建了註解文件的支援
  • Java 沒有運算子重載

Java 不提供多重繼承

  • Java 中沒有析構函數

第 2 部分 – Java 面試問題(進階)

現在讓我們來看看高階面試問題。

4.抽象類別和介面有什麼差別?

答案:

  • 多重繼承:一個抽象類別只能繼承一個抽象類別;然而,一個類別可以在介面中實作多個介面。這證明Interface支援多重繼承,而Abstract類別不支援。
  • 實作:抽象類別可以提供預設程式碼,因為它包含不完整和完整的成員,而介面不能提供任何程式碼,因為它包含不完整的成員。
  • 欄位:我們可以在抽象類別中定義欄位和約束,而介面中不能定義欄位。
  • 速度:與介面相比,抽象類別速度更快,因為後者需要更多時間來尋找對應類別的方法。
  • 用法:當我們想要在父子關係中共享公共功能時,抽象類別就出現了,而 Interface 用於定義和強制多態性、解耦和標準化

5. Java 中 private、protected、public 和 package 修飾符或關鍵字之間的差異

答案:
Java 中的私有、公有、受保護、套件

Java 有四種存取修飾符,分別是 private、protected、public 和套件層級。

這些存取修飾符的作用是限制其所應用的類別、方法或變數的可訪問性。以下描述的是每個存取修飾符的功能以及它們之間的差異

Java 中的私有關鍵字

  • Java 中的 private 修飾符可以套用於 Java 中的成員欄位、方法或巢狀類別。
  • 不能在頂層類別上使用 private 修飾符。
  • 私有變數、方法和類別只能在聲明它們的類別上存取。
  • 私有化 Java API 提供的最高形式的封裝,應盡可能使用。

預設將變數宣告為私有是 Java 中的最佳編碼實作。私有方法只能從宣告它的類別中呼叫。

Java 中的套件或預設存取等級

  • package是Java中用來宣告套件的關鍵字;套件是Java中類別所屬的目錄。
  • 套件或預設存取等級是僅次於 private 的第二高限制性存取修飾符,任何宣告為 package-private 的變數、方法或類別只能在其所屬的套件上存取。

預設修飾符的好處是,如果沒有類別級存取修飾符,頂層類別也可以是包私有的。

Java 中受保護的關鍵字

如果你聲稱一個變數 protected 意味著任何人都可以使用它,只要他們擴展你的類別。頂級類別也無法受到保護。

Java 中的公開關鍵字

public 是Java 程式語言中限制性最小的存取修飾符,將欄位、方法或類別預設為public 是不好的做法,因為一旦將其設為public,就很難對其內部進行任何更改類別的結構,因為它影響所有使用它的客戶端。

製作類別或實例變量,public也違反了封裝原則,一點都不好,而且很影響維護。

推薦文章

我們希望這份關於「Java面試題」的EDUCBA資訊對您有所幫助。您可以查看EDUCBA的推薦文章以了解更多資訊。

  1. Java 開發者面試問題
  2. Java多執行緒面試題
  3. J2EE面試問題
  4. Java String 面試題

以上是Java面試題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板