Object n = new Object();
建立了一個Object類的物件,然後建了一個指向該物件的參照:n。
在Java裡,儘管一切都被看作物件,但操縱的識別符號實際上是物件的一個「參照」。
記憶體是怎麼分配的?可以在五個地方儲存數據:
基本型別不用new來建立變數,而是建立一個並非是參照的「自動「變數。這個變數直接儲存」值「,並置於堆疊中,因此較在堆中建立物件更加高效。
高精度數位
BigInteger和BigDecimal,
這倆者爲Java提供的專門用於高精度運算的類。
Java確保陣列會被初始化,而且不能在它的範圍之外被存取。
變數生命週期的混亂往往會導致大量的程式bug,但Java用一種有趣的機制 機製大大簡化了物件清理的問題。
作用域決定了在其內定義的變數名的可見性和生命週期
在C、C++和Java中,作用域由花括號的位置決定。
{
int x=12;{
int q= 96;//Both x and q available}
}
//Only x available
// q is "out of scope"
}
在作用域裏面定義的變數只可用於作用域結束之前
{
String s = new String("a String");
// End of scope
}
Java物件不具備和基本型別一樣的生命週期,當用new 建立一個Java物件時,他可以存活在作用域之外。參照s在作用域終點就消失了,但s指向的String物件仍舊繼續佔據着記憶體空間。
爲了防止這些物件填滿整個記憶體空間,Java依靠垃圾回收器解決記憶體問題。
你只需要建立物件,一旦不需要,它們就會自行消失。
class ATypeName {
/* Class body goes here */ }
這就命名了一個新的數據型別:類;
定義了一個類之後(雖然上面的例子僅有一條註釋語句),但也可以用new來建立這種型別的物件:
ATypeName a = new ATypeName( );
一旦定義了一個類,就可以在類中定義倆種類型的元素:欄位(有時也被稱作數據成員)和方法(有時也被稱爲成員函數)。
基本成員預設值
若類的某個成員是基本數據型別,即使程式設計師沒有對其進行初始化,Java也會確保它獲得一個預設值。
基本型別 | 預設值 |
---|---|
boolean | false |
char | null |
byte | (byte)0 |
short | (short)0 |
int | 0 |
long | 0L |
float | 0.0f |
double | 0.0d |
然而「區域性」變數(即並非某個類的欄位)不會被預設初始化。
方法的基本組成部分包括:名稱、參數列表、返回值和方法體。
RetureType methodName(/*Argument list*/){
/* Method body*/
}
方法名和參數列表(它們合起來被稱爲「方法簽名」)唯一地標識出某個方法
參數列表中必須指定每個所傳遞物件的型別以及名字
若返回型別是void,return關鍵字的作用只是用來退出方法。
包名——逆用域名
在自己程式裡使用預先定義好的類,可以使用關鍵字import來準確的告訴編譯器你想要的工具類是什麼。
建立類的過程,換句話說也是對那個類的物件的外觀與行爲的描述。除非用new建立那個類的物件,否則,實際上並未獲得任何物件。執行new來建立物件,數據儲存空間才被分配,其方法纔可供外界呼叫。但存在倆種特殊需求是上述方法滿足不了的。
一種情形是:只想爲某特定域分配單一儲存空間;而不去考慮究竟要建立多少物件,甚至根本就不建立任何物件。
另一種情形時,希望某個方法不與包含它的類的任何物件關聯在一起;也就是說,即便不建立這個類的物件,也可以呼叫這個方法。
通過關鍵字static可以滿足上述倆種需要。
使用類名是參照static變數的首選方法,這不僅僅是因爲它強調了變數的static結構,而且在某些情況下它還爲編譯器進行優化提供了更好的機會。
和其他任何方法一樣,static關鍵字可以建立或者使用與其型別相同的被命名物件,因此,static方法常常拿來做「牧羊人」的角色,負責看護與其隸屬同一種型別的範例羣。
JDK:Java Developer’s Kit,Java開發人員工具包。
自行安裝編譯器
Java有着倆種註釋風格。
第一種
第二種
javadoc輸出的是一個HTML檔案,可以同Web瀏覽器檢視。這樣,該工具就使得我們只需建立和維護單一的原始檔,並能自動生成有用的文件。有了javadoc,就有了建立文件的簡明直觀的標準。
所有javadoc命令都只能在「/*」註釋中出現。
使用javadoc的方式主要有倆種:嵌入式HTML,或使用「文件標籤」。
共有三種類型的註釋文件,分別對應於註釋位置後面的三種元素:類、域、方法。
注意:javadoc只能爲public和protect成員進行文件註釋。
不要在嵌入式HTML中使用標題標籤,因爲javadoc會插入自己的標題,而你的標題可能與它們發生衝突。
這一塊暫時略過,寫註釋是不可能的,手動狗頭…
Java程式語言編碼約定中,提出程式碼風格:駝峯命名法。
瞭解了編寫一個簡單程式的Java程式設計知識。此外,對Java語言及它的一些基本思想也有一個總體認識。