Java的基礎知識
1.面向物件思想
(1)概述:面向物件是相對於面向過程而言的,
面向過程強調的是功能,
面向物件強調的是將功能封裝進物件,
強調具備功能的物件
(2)思想特點:
A:是符合人們思考習慣的一種思想;
B:將複雜的事情簡單化了;
C:將程式設計師從執行者變成了指揮者
2.特徵:
封裝:隱藏物件的屬性和實現細節,僅對外提供公共訪問方式
繼承: 多個類中存在相同屬性和行為時,將這些內容抽取到單獨一個類中,那麼多個類無需 再定義這些屬性和行為,只要繼承那個類即可。
多型: 一個物件在程式不同執行時刻代表的多種狀態,父類或者介面的引用指向子類物件
3. 封裝的好處:
3.1.將變化隔離;
3.2.方便使用;
3.3.提高複用性;
3.4.提高安全性
4.繼承的好處:
4.1.繼承的出現提高了程式碼的複用性。
4.2.繼承的出現讓類與類之間產生了關係,提供了多型的前提。
5.面向物件的特徵有哪些方面
5.1. 封裝,隱藏內部實現,只暴露公共行為
5.2. 繼承,提高程式碼的重用性
5.3. 多型,體現現實生活中相似物件的差異性
5.4. 抽象,抽取現實世界中相似物件的共同點
6.介面的特點
A:是對外暴露的規則
B:是功能的擴充套件
C:介面的出現降低耦合性。
耦合(類與類之間的關係)
內聚(類完成功能的能力)
程式設計規範:低耦合,高內聚。
D:介面可以多實現。
7.介面和抽象類的區別
A:抽象類只能被單繼承
介面可以多實現,介面的出現避免了多繼承的侷限性。
B:抽象類中的資料特點:
成員變數:可以是變數,也可以是常量
成員方法:可以是抽象方法,也可以是非抽象方法
構造方法:有構造方法
介面中的資料特點:
成員變數:是常量。預設修飾 public static final
成員方法:都是抽象方法。都有預設修飾 public abstract
構造方法:沒有構造方法
C:抽象類中定義的是繼承體系中的共性功能。
介面中定義的是繼承體系中的擴充套件功能。
D:抽象類被繼承是"is a"關係:xx是yy的一種
介面被實現是"like a"關係:xx像yy的一種