文章目錄
- 1 基礎知識
-
- 1.1 面向對象和面向過程:
- 1.2 Java的特點:抽象、封裝、繼承、多态。
- 1.3 重寫(overwrite)與 重載(overload)多态的兩種表現形式
- 1.4 static和final的差別:
- 1.5 Java異常:
1 基礎知識
1.1 面向對象和面向過程:
面向對象:易維護、複用、擴充;因為面向對象具有封裝繼承多态的特點,
面向過程:性能更高,因為類調用時 需要執行個體化,資源開銷比較大,單片機都是面向過程的。
面向對象的六個原則:(單一職責、開放封閉、裡氏替換、接口隔離)
1.2 Java的特點:抽象、封裝、繼承、多态。
抽象:将一類對象的共同特征總結出來構造類的過程,包括資料抽象和行為抽象。
繼承:從已有類中得到繼承資訊,建立新類的過程,提供繼承資訊的父類;得到繼承資訊的子類。
封裝:将資料和操作資料的方法綁定起來,對資料的通路通過已定義的接口,編寫類就是為了對資料和資料操作進行封裝,即隐藏一切可隐藏的東西,隻向外界提供最簡單的接口。
多态:允許不同子類型對象對同一消息做出不同的相應。
實作——繼承+方法重寫+父類引用指向子類對象
1.3 重寫(overwrite)與 重載(overload)多态的兩種表現形式
重載(同一個類中):一個類裡,方法名稱相同,參數類型、個數不同。(構造器的重載)
重寫(子類與父類):參數一樣,傳回類型相容(final,static方法不能重寫,構造方法不能重寫,即不能繼承的方法肯定不能重寫)
差別 : 重載 重寫
參數清單: 必須修改 不能修改
傳回類型: 可以修改 不能修改
異常: 可以修改 可以減少或删除
通路: 可以修改 可以減少或删除
1.4 static和final的差別:
static:修飾變量(靜态變量随着類加載時被初始化,記憶體中隻有一個,JVM隻為它配置設定一個記憶體,所有類共享靜态變量);修飾方法(在類加載的時候就存在,不依賴任何執行個體;static方法必須實作);修飾代碼塊(類加載完之後就執行代碼塊中内容);
final:修飾變量(編譯期常量:類加載的過程完成初始化,;運作時常量:)修飾方法(不能被繼承),修飾類(不能被繼承)