JAVA編程思想讀書筆記第二章

對象與引用

String s = new String("abc");

這裏的s只是一個引用並不是對象,對象是通過new操作符來生成的。引用可以用來操縱對象並且可以單獨存在,並不一定需要有一個對象與其關聯。

內存分配

程序運行時,共有寄存器、堆棧、堆、常量存儲、非RAM存儲等5個地方可以存儲數據,其中對象的引用存放在堆棧中,對象存放在堆中,常量直接存放在代碼內部。

基本數據類型

java共有八大基本數據類型,基本數據類型不需要用new來創建,存放在堆中。
基本數據類型都具有包裝器類,使得可以在堆中創建非基本對象。

char c = 'x';
Character ch = new Character(c);

其中c爲一個並非是引用的“自動”變量,而ch則是對象的引用。

基本類型 大小 包裝器類型 默認值
boolean - Boolean false
char 16bit Character null
byte 8bits Byte 0
short 16bits Short 0
int 32bits Integer 0
long 64bits Long 0L
float 32bits Float 0.0f
double 64bits Double 0.0d

基本數據類型的變量在作爲類的成員使用時,java會給它默認值使其初始化,但該方法不適應於局部變量,若類的成員是某個對象的引用則必須初始化。

static關鍵字

當使用new來創建對象時,java會在棧中爲對象分配存儲空間,此時同一個類的不同對象的字段內容不同,而用static關鍵字聲明的字段與方法是屬於類的不屬於特定對象。這就使得無論創建了特定類的多少個對象,這個類中特定的static域只有一個實例,並且可以直接用類名調用。

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