马士兵 java内存_学习笔记-马士兵java-JAVA的面向对象与内存解析
1. 類的定義:成員變量、方法
① 聲明成員變量格式:[] type [=defaultValue]; (例:private int id;)
② 聲明方法格式:[]([argu_list]){
[]
} (例:public int getAge() {return age;})
2. 成員變量的默認值:
成員變量類型 取值
byte??? --------------------??? 0
short???--------------------??? 0
int?????? --------------------??? 0
long??? --------------------??? 0L
char??? --------------------??? '\u0000'
float??? --------------------??? 0.0F
double? -------------------??? 0.0D
boolean? ------------------??? false
所有引用類型? -----------??? null
3. 成員變量與JAVA變量區(qū)別:java變量聲明后必須賦值(無默認值)才可使用,成員變量(有默認值)聲明后可直接使用。
4. 成員變量的作用范圍為整個類體。
5. 引用類型:JAVA語言中,除了基本類型(4類8種)之外的變量類型。(一小塊內(nèi)存指向一大塊內(nèi)存)
① 基礎類型只占用一塊內(nèi)存(棧中)
② 引用類型占兩塊內(nèi)存【引用占一塊內(nèi)存(棧中)-->相當于指針,new出另一塊內(nèi)存(堆中)-->對象】
6. 在內(nèi)存中,區(qū)分類和對象:
① 類是靜態(tài)的概念,在代碼區(qū)域中。
② 對象是new出來的,位于堆內(nèi)存中。
③ 類的每個成員變量在不同的對象中都有不同的值(除了靜態(tài)變量)而芳芳只有一份,執(zhí)行的時候才占用內(nèi)存。
補充:堆內(nèi)存(比較大)為動態(tài)分配內(nèi)存。
7. 對象的創(chuàng)建和使用:
① 必須使用new關鍵字創(chuàng)建對象。
② 使用“對象(引用).成員變量”來引用對象的成員變量。
③ 使用“對象(引用).方法(參數(shù)列表)”來調(diào)用對象的方法。
④ 同一類的每個對象有不同的成員變量存儲空間。
⑤ 同一類的每個對象共享該類的方法。
8. JAVA的方法(類似其他語言的函數(shù))聲明格式:
[修飾符1 修飾符2 …] 返回值類型 方法名(形式參數(shù)列表){JAVA語句;……}
a. 形式參數(shù):在方法被調(diào)用時用于接收外界輸入的數(shù)據(jù)。
b. 實參:調(diào)用方法時實際傳給方法的數(shù)據(jù)。
c. 返回值:方法在執(zhí)行完畢后返還給調(diào)用它的環(huán)境的數(shù)據(jù)。
d. 返回值類型:事先約定的返回值的數(shù)據(jù)類型,如無返回值,必須給出返回值類型void。
補充說明:
a. java中使用“對象名.方法名(實參列表)”調(diào)用方法。
b. 實參的數(shù)目、數(shù)據(jù)類型、次序,必須和所調(diào)用方法聲明的形參列表匹配。
c. retrun語句種植方法的運行并制定要返回的數(shù)據(jù)。
d. java中進行函數(shù)調(diào)用中傳遞參數(shù)時,遵循值傳遞的原則:基本類型傳遞的是該數(shù)據(jù)值本身,引用類型傳遞的是對象的引用(非對象本身)。
9. 構造方法(構造函數(shù))
① 使用new+構造方法創(chuàng)建一個新的對象。
② 構造函數(shù)式定義在JAVA類中的一個用來初始化對象的函數(shù)。
③ 構造函數(shù)與類名相同且沒有返回值。
④ 當沒有指定構造函數(shù)時,編譯器為類自動添加形式如:“類名(){ }”的空構造方法(一旦手工添加構造函數(shù),系統(tǒng)將不再為你添加構造方法)。
10. 形參和局部變量-->在內(nèi)存中同等待遇。
總結
以上是生活随笔為你收集整理的马士兵 java内存_学习笔记-马士兵java-JAVA的面向对象与内存解析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php网站mercury安装,mercu
- 下一篇: 计算机平面设计必学英语,平面设计师常用的