作用:
引用數據類型:完成實例化後,可藉由該類型對象獲取其中非私有成員。
基本數據類型:無需初始化,只能操作對應類型具體數值。
初始值:
引用數據類型:未進行實例化時爲null;進行實例化後,將依據對應的構造方法完成初始成員信息設置。
基本數據類型:無需初始化,各類型有各自默認值(譬如:int是0,double是0.0等)
調用方式:
Ps:此時指在類內方法中訪問,暫不考慮static修飾的情況
引用數據類型:如未進行實例化,方法中調用對象非私有成員時會報空指針異常(具體內容,後面小節中會詳細介紹);當進行初始化後,可藉由對象訪問其非私有成員信息。
基本數據類型:可直接調用獲取具體數值。
示例:
現有公司類和員工類,在測試類中對員工信息進行測試。
(Ps:鑑於文檔展示篇幅有限,示例中暫不考慮封裝特性,屬性均採用默認權限,未設置get/set方法及無參構造。)
- 當測試類中,生成公司,員工對象,但並未對員工中的公司屬性賦值時:
運行結果: 由於display方法中的comp未初始化,因此產生空指針異常。
- 如修改員工類中代碼:加入對員工的公司屬性初始化設置
保留測試類和公司類代碼不變,此時運行無異常,結果中將展示初始化時的公司屬性的默認值,即:
- 如員工類中,公司屬性定義時未初始化,但加入在雙參構造方法中的信息判斷
保留測試類和公司類代碼不變,此時,雖然員工類中的公司屬性定義時未完成初始化,但由於構造方法中有相關判斷,將完成初始化操作,從而在main方法中調用時不會產生異常。即:
- 如保留員工類、公司類初始代碼不變(即員工類中公司屬性定義和構造方法中均未初始化),修改測試類中代碼:加入對員工的公司屬性賦值
則由於員工對象的公司屬性,雖在類內定義時未初始化,但在main方法中調用時正確賦值,運行結果爲: