Java基礎筆記整理—【07】面向對象程式設計-類和對象

  • 2019 年 12 月 17 日
  • 筆記

int 類型默認值為 0

String類型默認值為null

方法(函數): 返回值 方法名(參數類型 參數名稱, …){ 方法體(程式碼塊) } this指調用的方法中(當前)的變數 類與對象 1.構造方法: 1> 構造對象 構造實例的方法,一個特殊方法,方法名需要與類名相同,並且沒有返回值 2> 當在類中創建構造方法後,jvm將不再為類生成生成默認的構造方法。 2.成員變數和局部變數 成員變數:(直接在類中聲明的變數) 作用域:在整個類中都有效 初始值:如果未對成員變數設置初始值,則系統會根據成員變數的類型自動分配初始值 使用: 1. 如果局部變數的名字與成員變數的名字相同,則成員變數被隱藏,即這個成員變數在同名局部變數 所在方法內暫時失效。 2. 如果需要在局部變數有效的作用域內使用同名的成員變數,則必須使用關鍵字this來引用成員變數。 局部變數:(在方法內或者程式碼塊內定義的變數、方法的參數) 使用:必須先聲明再使用。 3.方法重載: 1> 方法重載是指一個類中可以有多個方法具有相同的名字,但這些方法的參數必須不同,即或者是參數的個數不同,或者是參數的類型不同。 2> 方法的返回值類型和參數的名字不參與比較,也就是說如果兩個方法的名字相同,即使返回值類型或者是參數的名字不同,也不能稱為方法的重載,必須是參數個數或者是參數類型不同。 4.實例變數和類變數 1> 當Java程式執行時,類的位元組碼文件被載入到記憶體,如果該類沒有創建對象,類的實例成員變數不會被分配記憶體。但是,類中的類變數,在該類被載入到記憶體時,就分配了相應的記憶體空間。 2> 如果該類創建對象,那麼不同對象的實例變數互不相同,即分配不同的記憶體空間,而類變數不再重新分配記憶體,所有的對象共享類變數,即所有的對象的類變數是相同的一處記憶體空間,類變數的記憶體空間直到程式退出運行,才釋放所佔有的記憶體。 5.實例方法和類方法 1> 當類的位元組碼文件被載入到記憶體時。類的實例方法不會被分配入口地址,當該類創建對象後,類中的實例方法才分配入口地址,從而實例方法可以被類創建的任何對象調用執行。需要注意的是,當我們創建第一個對象時,類中的實例方法就分配了入口地址,當再創建對象時,不再分配入口地址。也就是說,方法的入口地址被所有的對象共享,當所有的對象都不存在時,方法的入口地址才被取消。 2> 對於類中的類方法,在該類被載入到記憶體時,就分配了相應的入口地址。從而類方法不僅可以被類創建的任何對象調用執行,也可以直接通過類名調用。類方法的入口地址直到程式退出才被取消。