java溫習*(5):引用數據類型應用---成員屬性

作用:
引用數據類型:完成實例化後,可藉由該類型對象獲取其中非私有成員。

基本數據類型:無需初始化,只能操作對應類型具體數值。

初始值:
引用數據類型:未進行實例化時爲null;進行實例化後,將依據對應的構造方法完成初始成員信息設置。

基本數據類型:無需初始化,各類型有各自默認值(譬如:int是0,double是0.0等)

調用方式:

Ps:此時指在類內方法中訪問,暫不考慮static修飾的情況

引用數據類型:如未進行實例化,方法中調用對象非私有成員時會報空指針異常(具體內容,後面小節中會詳細介紹);當進行初始化後,可藉由對象訪問其非私有成員信息。

基本數據類型:可直接調用獲取具體數值。

示例:
現有公司類和員工類,在測試類中對員工信息進行測試。

(Ps:鑑於文檔展示篇幅有限,示例中暫不考慮封裝特性,屬性均採用默認權限,未設置get/set方法及無參構造。)

圖片描述

圖片描述

 

 

  • 當測試類中,生成公司,員工對象,但並未對員工中的公司屬性賦值時:

圖片描述

運行結果: 由於display方法中的comp未初始化,因此產生空指針異常。

圖片描述

 

- 如修改員工類中代碼:加入對員工的公司屬性初始化設置

圖片描述

 

保留測試類和公司類代碼不變,此時運行無異常,結果中將展示初始化時的公司屬性的默認值,即:

圖片描述

 

- 如員工類中,公司屬性定義時未初始化,但加入在雙參構造方法中的信息判斷

圖片描述

 

保留測試類和公司類代碼不變,此時,雖然員工類中的公司屬性定義時未完成初始化,但由於構造方法中有相關判斷,將完成初始化操作,從而在main方法中調用時不會產生異常。即:

圖片描述

 

  • 如保留員工類、公司類初始代碼不變(即員工類中公司屬性定義和構造方法中均未初始化),修改測試類中代碼:加入對員工的公司屬性賦值
  • 圖片描述

 

則由於員工對象的公司屬性,雖在類內定義時未初始化,但在main方法中調用時正確賦值,運行結果爲:

圖片描述

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章