好程式設計師Java教程分享:Java工程師常見面試題

好程式設計師IT發表於2019-06-27

  好程式設計師 Java 教程分享: Java 工程師常見面試題

   一: BigInteger

   (1) 針對大整數的運算:可以讓超過 Integer 範圍內的資料進行運算。

   (2) 構造方法

   A:BigInteger(String s)

   (3) 成員方法 ( 自己補齊 )

   BigInteger b1=new BigInteger("100");

   BigInteger b1=new BigInteger("50");

   A: :b1.add(b2);//150

   B: :b1.subtract(b2);//50

   C: :b1.multiply(b2);//500 (這個面試題考過)

   D: :b1.divide(b2);//2

   二:面試題:

   1 )靜態程式碼塊 , 構造程式碼塊 , 構造方法的順序問題 ?

   靜態程式碼塊 > 構造程式碼塊 > 構造方法其中靜態程式碼塊(只執行一次)

   2 )當 Son s=new Son(); 時父類和子類中各種程式碼執行順序。(先進行父類初始化,然後進行子類初始化)

   父類靜態程式碼塊 1

   子類靜態程式碼塊 2

   父類構造程式碼塊 3

   父類無參構造方法 4

   子類構造程式碼塊 5

   子類無參構造方法 6

   十一:面試題

   == equals() 的區別 ?

   A:==

   基本型別:比較的是值是否相同

   引用型別:比較的是地址值是否相同

   B:equals()

   equals Object 中預設比較引用型別的地址值,而 String 類重寫了 equals ()方法,比較的是內容是否相等。

   三:靜態變數和成員變數的區別

   A: 所屬不同

   靜態變數:屬於類,類變數

   成員變數:屬於物件,物件變數,例項變數

   B: 記憶體位置不同

   靜態變數:方法區的靜態區

   成員變數:堆記憶體

   C: 生命週期不同

   靜態變數:靜態變數是隨著類的載入而載入,隨著類的消失而消失

   成員變數:成員變數是隨著物件的建立而存在,隨著物件的消失而消失

   D: 呼叫不同

   靜態變數:可以透過物件名呼叫,也可以透過類名呼叫

   成員變數:只能透過物件名呼叫

   四: final 修飾 區域性變數

   a: 基本型別 值不能發生改變 ,是常量。如: final int x=10;

   b: 引用型別 地址值不能發生改變,但是物件的內容是可以改變的 .

   final Student s=new Student();

   s.age=100;

   如教室編號, 302 教室一旦被 final 確定,就沒法改變,但是教室裡的學生(值)是可以改變的。

   五:兩個面試題:

   A:Override Overload 的區別 ?Overload 是否可以改變返回值型別 ? 方法重寫和方法過載的區別。

   方法重寫:子類中出現了和父類中一模一樣的方法宣告。又稱方法覆蓋,方法複寫

   方法過載:本類中出現了方法名一樣,引數列表不同的方法,與返回值無關。

   B:this super 的區別和各自的作用 ?

   this :代表當前類的物件引用,

   super :代表父類儲存空間的標識,(可以理解為父類的引用,透過這個東西可以訪問父類的成員)

   六:繼承的好處:

   A: 提高了程式碼的複用性

   B: 提高了程式碼的維護性

   C: 讓類與類產生了一個關係,是多型的前提

   繼承的弊端:

   A: 讓類的耦合性增強。這樣某個類的改變,就會影響其他和該類相關的類。

   開發的原則:低耦合,高內聚。

   耦合:類與類的關係

   內聚:自己完成某件事情的能力

   B: 打破了封裝性


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913892/viewspace-2648976/,如需轉載,請註明出處,否則將追究法律責任。

相關文章