java學習筆記 01

局部變量和成員變量

  1. 定義的位置不同
    定義在類中的變量是成員變量
    定義在方法中或者{}語句裏面的變量是局部變量
  2. 在內存中的位置不同
    成員變量存儲在對內存的對象中
    局部變量存儲在棧內存的方法中
  3. 聲明週期不同
    成員變量隨着對象的出現而出現在堆中,隨着對象的消失而從堆中消失
    局部變量隨着方法的運行而出現在棧中,隨着方法的彈棧而消失
  4. 初始化不同
    成員變量因爲在堆內存中,所有默認的初始化值
    局部變量沒有默認的初始化值,必須手動的給其賦值纔可以使用。

基本類型和引用類型

  1. 基本類型作爲參數傳遞時,本質上是將基本類型參數複製一份傳遞給調用方法,當調用方法執行完,彈棧結束,程序回到主方法main,基本類型參數保持不變;
  2. 引用類型作爲參數傳遞時,本質上是將內存地址傳遞給調用方法,最終導致主方法和調用方法無論哪一個改變了引用值,都將改變引用類型參數;

面向對象特徵

封裝

封裝的表現

  1. 方法是一種基本的封裝;
  2. 類也是一種封裝;

封裝的優勢

1. 提高代碼的複用性;
2. 提高代碼的安全性;
3. 隱藏實現細節,但是需要提供可以訪問的方式;  

注意:
   1. 定義類中的屬性時,應當將屬性私有化,用private修飾;
   2. 被private修飾的變量,類外無法使用,可提供公共訪問方式(方法),讓外類修改和獲取(get,set);

this關鍵字

當方法中局部變量和成員變量之間有重複時候,在方法中調用成員變量需要在變量名前加上關鍵字 this.
注意:
1. this代表對象,哪個對象調用了this所在的方法,this就代表哪個對象;

繼承

繼承的格式

class 子類 extends 父類 {}

繼承的注意事項

  1. 在Java中,類只支持單繼承,不允許多繼承,也就是說一個類只能有一個直接父類,例如下面這種情況是不合法的;

  2. 多個類可以繼承一個父類,例如下面這種情況是允許的;

  3. 在Java中,多層繼承是可以的,即一個類的父類可以再去繼承另外的父類,例如C類繼承自B類,而B類又可以去繼承A類,這時,C類也可稱作A類的子類。下面這種情況是允許的。

	 class A{}
     class B extends A{}
     class C extends B{}
  1. 在Java中,子類和父類是一種相對概念,也就是說一個類是某個類父類的同時,也可以是另一個類的子類。

成員變量和方法的注意事項

  1. 父類中的成員變量是非私有的,子類中可以直接訪問,若父類中的成員變量私有了,子類是不能直接訪問的。
  2. 當子父類中出現了同名成員變量時,在子類中若要訪問父類中的成員變量,必須使用關鍵字super來完成。

個人學習記錄,難免錯誤,望大神指正。

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