一.所有對象都必須由你建立
1. 存儲在哪里
1. 寄存器:我們在
程序中無法控制
2. stack:存放基本類型的數(shù)據(jù)和對象的reference,但對象本身不存放在stack中,而是存放在Heap中
3. Heap:存放用new產(chǎn)生的數(shù)據(jù)
4. Static storage:存放在對象中用static定義的靜態(tài)成員
5. Constant storage:存放常量
6. NON-RAM:硬盤等永久存儲空間
2. 特例:基本型別
基本類型數(shù)據(jù)存放在Stack中,存放的是數(shù)據(jù)。而產(chǎn)生對象時,只把對象的reference存放在stack中,用于指向某個對象,對象本身存放在Heap中。
3. Java中的數(shù)組
當你產(chǎn)生某個存儲對象的數(shù)組時,真正產(chǎn)生的其實是存儲reference的數(shù)組。引數(shù)組建立后,其中的每一個reference都會被自動設為null,表示“不指向任何對象”。
二.建立新的數(shù)據(jù)型別:Class
1. 數(shù)據(jù)成員和函數(shù)
1.1 基本成員的缺省值
1) 當class的某個成員屬于基本型別時,即使你沒有為它提供初值,Java仍保證它有一個缺省值。
2) 只有當變量身份是“class內的成員時,Java才保證為該變量提供初值。
三.函數(shù)(Mehtods),引數(shù)(arguments),返回值(return values)
1. 引數(shù)列
當引數(shù)傳遞的是對象時,傳遞的是對象的reference。
四.注解用內嵌式文檔
Java提供兩種注解風格:/*XXXX*/、//XXXX
第3章 控制
程序流程
一.使用Java運算符
1.關系運算符
1.) 當對兩個對象運用關系運算符進行比較時,比較的是object reference,如:
java/lang/Integer.
java/lang/Integer.
java/lang/Integer.
java/lang/Integer.
/lang/System.