類的域(field ,資料成員)是基本型別時的預設值
若某個基本型別欄位屬於一個類,那麼即使不明確(顯式)進行初始化,也可以保證它們獲得一個預設值。
基本型別 預設值
Boolean
false
Char '\u0000'(null)
byte (byte)0
short (short)0
int 0
long
0L
float 0.0f
double
0.0d
一旦將變數作為類成員使用,就要特別注意由Java分配的預設值。這樣做可保證基本型別的成員變數肯定得到了初始化(C++不具備這一功能),可有效遏止多種相關的程式設計錯誤。
然而,這種保證卻並不適用於“區域性”變數——那些變數並非一個類的欄位。所以,假若在一個函式定義中寫入下述程式碼:
int
x;
那麼x會得到一些隨機值(這與C和C++是一樣的),不會自動初始化成零。我們的責任是在正式使用x前分配一個適當的值。
如果忘記,就會得到一條編譯期錯誤,告訴我們變數可能尚未初始化。這種處理正是Java優於C++的表現之一。許多C++編譯器會對變數未初始化發出警告,但在Java裡卻是錯誤。
相關文章
- 基本資料型別和引用型別的初始值資料型別
- 基本資料型別以及String未初始化賦予的預設值資料型別
- js基本語法之 值型別(資料型別)(變數型別)JS資料型別變數
- java基本資料型別包裝類Java資料型別
- MySQL 5 不允許TEXT資料型別的列有預設值的問題!MySql資料型別
- Java的基本資料型別Java資料型別
- 物件資料成員的初始值物件
- Sqlserver的欄位datetime型別預設值設為getdate()時,設值毫秒為000SQLServer型別
- Java中的基本資料型別與引用資料型別Java資料型別
- 基本資料型別及其包裝類(一)資料型別
- 基本資料型別及其包裝類(二)資料型別
- Python的基本資料型別Python資料型別
- 【MySQL】資料型別的基本用法MySql資料型別
- Windows基本的資料型別 (轉)Windows資料型別
- Java基本資料型別記憶體佔用位元組大小,取值範圍和預設值Java資料型別記憶體
- c++語言中類的私有型別或保護型別成員變數C++型別變數
- 基本資料型別與API引用型別的使用資料型別API
- 基本資料型別資料型別
- 判斷值的資料型別資料型別
- Java-API-基本資料型別包裝類JavaAPI資料型別
- (2)Java基本資料型別和包裝類Java資料型別
- sql 在將 nvarchar 值 轉換成資料型別 int 時失敗。SQL資料型別
- Mybatis出現成員賦值都是null或者預設值MyBatis賦值Null
- JavaScript筆記5:計時器、物件、基本資料型別、引用資料型別JavaScript筆記物件資料型別
- js資料型別之基本資料型別和引用資料型別JS資料型別
- Mysql資料庫學習(二):資料型別(數值型別 日期和時間型別 字串型別)MySql資料庫資料型別字串
- 基本資料型別與字串型別資料型別字串
- 從賦值看基本型別和引用型別的區別賦值型別
- 不簡單的基本資料型別資料型別
- c語言的基本資料型別C語言資料型別
- JavaScript - 基本型別與引用型別值JavaScript型別
- 區別值型別資料和引用型別資料型別
- JavaScript基本資料型別JavaScript資料型別
- Java 基本資料型別Java資料型別
- Redis基本資料型別Redis資料型別
- Java -基本資料型別Java資料型別
- 003基本資料型別資料型別
- Java基本資料型別Java資料型別