JavaSE小知識(二)

Sethereal發表於2020-11-20

1.
關於成員變數與區域性變數。(注:程式碼塊中的變數屬於區域性變數)
      a.定義位置

  • 區域性變數:方法內部或程式碼塊內
  • 成員變數:方法外,類的最外層。
    b.作用範圍
  • 區域性變數:當前方法中或程式碼塊內
  • 成員變數:當前類中
    c.預設值
  • 區域性變數:無
  • 成員變數:不賦值會有預設值,規則與陣列預設值相同
    d.記憶體位置
  • 區域性變數:棧記憶體中
  • 成員變數:堆記憶體中
    e.生命週期
  • 區域性變數:同當前方法進\出棧記憶體而生成\銷燬
  • 成員變數:同當前類的物件建立\回收而生成\銷燬
    2.
    抽象類與抽象方法:
    在這裡插入圖片描述
    3.
    Java特性
  • 封裝:Java的封裝主要由幾種許可權修飾符限制成員變數和成員方法實現然後通過對應介面完成實現類進行方法,這種特性使得Java程式碼安全性得到保證並且程式碼更加層次分明。
  • 繼承:Java的繼承其實就是從一個初始的類擴充套件出各具特色的其它類的過程,繼承解決了Java中共性抽取的問題,使得Java程式便於擴充套件。在繼承中,所有子類都有來自父類的共性變數或者方法,而各個子類又可以擁有自己專有的內容。(父類也稱為基類或者超類,子類也稱為派生類)
  • 多型:多型其實就是同一個行為具有多個不同表現形式或形態的能力。多型使得Java程式靈活多變。多型的存在是依賴繼承的,沒有繼承就沒有多型。因為多型存在需要三個必要條件:繼承、重寫、父類引用指向子類物件。一般情況下 ,在Java程式中父類引用指向子類物件或者子類重寫父類方法,在父類引用指向子類物件這種形式中,該引用只能呼叫父類中定義的方法和變數,即不能使用子類特有方法。但是如果子類重寫了父類中的一個方法,那麼在呼叫這個方法的時候,將會呼叫子類中的這個方法,這被稱為動態連線、動態呼叫。

相關文章