的情況是這樣follwing如何打破調用不同對象的嵌套方法?
student.studentsPhone.studentsAccount.topUp(xxx)
學生是具有返回類型的手機和電話對象的一個變量,它返回的是終於有型賬戶的一個變量的方法studentsAccount方法studentsPhone對象所需的方法。
所以我的問題是,如果我有一個學生對象,沒有電話,我會得到一個空指針異常。有沒有辦法切斷我們想要的路線?我不想在主類中實例化所有的東西。我將只實例化Student類。
我雖然幾種方法
移動的方法了層次結構,但其他對象不會有任何用處的在studentsPhone方法真的
我說,如果
(Phone == null) return;
但其不作廢,還有其它方法後studentPhone
http://stackoverflow.com/documentation/java/152/optional/5740/null-進行安全鏈接#t = 20161201201857268931 – shmosel
另一種解決此問題的方法是使用'null-instance'。一旦一個值被認爲是「null」,實例應該被返回,這意味着進一步的操作/方法仍然可以在沒有空指針異常的情況下被調用。 – n247s
請認識到這種鏈接被認爲是[code smell](https://sourcemaking.com/refactoring/smells/message-chains),因爲你的客戶端代碼現在依賴於確切的類結構。 –