第二章 一切都是對象

一切都是對象 操作的標記符其實是一個引用 有一個引用不一定要有一個對象與它關聯
比如: String s;
java 有五個不同的地方可以存儲數據:
1寄存器 最快 位於處理器的內部 不能控制
2棧 ram 對象引用存在堆中 但是java對象不存儲在這裏
3 堆 內存池 也位於ram區 用於存放所有java對象
4常量存儲 常量值通常存儲在程序代碼內部。
5非ram存儲 完全存活與程序之外

特例:基本數據類型
基本類型的數據直接存儲在棧內存中
所有的數值類型都有正負號
java提供了兩個用於高精度計算的類
BigInteger 和BigDecimal 它們大體上也屬於包裝類 但沒有基本類型
這兩個類包含的方法、提供的操作與對基本類型所能執行的操作相似
當基本數據類型用吧
BigInteger 支持任意精度的定點數 也就是說在運算中可以準確地表示任何大小的整數值 而不會丟失任何信息
BigDecimal 支持任意精度的定點數 可以用它進行精確的貨幣計算
java有一個垃圾回收器 用來監視new創建的所有對象 並辨別那些不會再被引用的對象 隨後釋放這些對象的內存空間 以便供其他新的對象使用 也就是說根本不用擔心內存回收的問題 你只要創建對象 一旦不再需要 它們就會自行消失 這樣做就消除了內存泄露的問題。這是由於程序員忘記釋放內存而產生的問題。
是不是棧內存不夠用了?

返回類型描述的是在調用方法之後從方法返回在值。參數列表給出了要傳給方法的信息的類型和名稱。方法名和參數列表(方法簽名) 唯一的標識了一個方法。
int x=a.f();
這種調用方法的行爲通常被稱爲發送消息給對象。
形參傳遞的其實也是引用
對於基本類型 儘管傳遞的是對象 而實際上傳遞的是對象的引用

return關鍵字的用法:
1離開此方法
2 如果此方法產生量值 這個值要放在return後面

通常來說 當創建類時 就是在描述那個類的對象的外觀與行爲 除非用new創建那個類的對象 否則實際上並未獲得任何對象。執行new來創建對象時 數據存儲空間才被分配 其方法才供外界調用
static不用創建對象 直接用類名調用
在一個類中即使創建兩個static對象也只用一份內存空間
一個static字段對每個類來說都只有一份內存空間 非static字段則是對每個對象有一個存儲空間
main方法 args用來存儲命令行參數

javadoc只能爲public和protected成員進行文檔註釋

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