Java 關於 null 的面試題

2021-08-31 19:16:53 字數 611 閱讀 8964

public class test

public void mymethod(string str)

public static void main(string args)

}

a.輸出 : my object

b.輸出: my string

c.執行中斷

d.runtime

答案: 

b : my string

為什麼呢?

分析: 

該類中有兩個相同名稱的方法名,大家應該都記得」過載「這個概念吧。「方法過載」有兩種形式:1.返回型別不一致; 2.傳入引數不一致。此題為第二種形式。

再者 null 是什麼呢? null 表示乙個不確定的物件,值與型別等等都未知。

將 null 傳入本題中方法時,由於引數的繼承關係(object、string都是物件,string為object子類),會將不確定物件 null 當做其子型別處理,即string

再者 :將題中的object引數改為 character 時,由於 character 和 string 之間並沒有繼承關係。所以main 無法確定 不確定物件null 到底為哪個方法的引數,結果為: 編譯不通過

java面試題 有關於繼承的面試題

面試題 1,方法過載和方法重寫的區別?方法過載能否改變返回值型別?方法過載是在本類內方法的定義一樣,引數型別,引數個數不同,返回值型別不同 方法重寫是指子類的方法定義和父類的方法定義相同。其引數型別,引數個數,返回值型別都必須相同 方法過載能否改變返回值型別,因為與返回值無關。2,this與supe...

Java面試題(一)

1 1 2 3 100構建乙個函式。答案 public int sum int n 2 描述冒泡演算法。答案 基本思路 對尚未排序的各元素從頭到尾依次比較相鄰的兩個元素是否逆序 與欲排順序相反 若逆序就交換這兩元素,經過第一輪比較排序後便可把最大 或最小 的元素排好,然後再用同樣的方法把剩下的元素逐...

java面試題總結

今天被架構師問了一連串的問題,估計問了有乙個多小時吧,有很多問題都答不上來,突然發現原來自己沒有掌握的知識太多了,原來我覺得技術是用來解決問題的,而不是用來研究的,但現在覺得要更快捷的解決問題,還得好好的研究他們的原理,凡事多問個 他的原理是什麼,底層是怎麼實現的 回來好好整理了一下知識點,我想就每...