標籤:
一、封裝
1. 概念:就是使類中的成員變數都是private,但是又提供public方法訪問這些成員變數。這樣就實現了隱藏類中的成員變數,從而確保了資料的安全性;
2. 執行個體:
private String name;
public String getName() { 用於讀取變數資料
return name;
}
public void setName(String name) { 用於設定變數資料
this.name = name;
}
注意:命名這些方法時,使用 get 和 set 加上變數名(變數名首字母要大寫);
二、多態
1. 分類:
① 靜態多態:實現的方式是方法的重載;
② 動態多態:實現方式是重寫父類的方法;
注意:我們說的多態,一般就指的是動態多態。
2. 引用資料的轉型(文法與基本資料轉型一樣):
① 向上轉型:從子類向父類轉,可自動實現;
② 向下轉型:從父類向子類轉,需強制轉換;
3. instantof 關鍵字:
用於判斷 instantof 前面的對象是否是 instantof 後面的對象的執行個體。(是返回 true ,不是返回 false)
三、抽象
1. 關鍵字:abstract
2. 抽象類別:
abstract 聲明的抽象類別,不能被執行個體化。所以需要要有子類才能體現其作用。
3. 抽象方法:
abstract 聲明的抽象放法,沒有方法主體,只能出現抽象類別中,並且在子類中要被實現才可以(抽象子類可以不用實現)。
四、介面
1.概念:就是一種更為特殊的抽象。在介面中的所有方法都是抽象方法,所有的方法都不提供具體的實現。需要其他的類來實現其中所有定義的方法。
2.介面與類異同:
同:
① 可以有任意數量的方法;
② 儲存為以".java "為尾碼名的檔案,介面名必須與檔案名稱保持一致;
③ 編譯後的檔案是尾碼名為“.class”的檔案;
④ 在包中的介面,其相應的位元組碼檔案必須放置在和包名相匹配的一個目錄中;
異:
① 介面不能被執行個體化;
② 介面不包含任何構造器;
③ 介面中的所有方法都是抽象的;
④ 介面中不能包含執行個體化的成員變數。唯一可以出現在介面中的成員變數必須是同時聲明為static和final(公有靜態常量);
⑤ 介面不能被一個類繼承,只能被一個類實現;
⑥ 一個介面能夠繼承多個介面;
3. 介面的聲明:
文法:
public interface 介面名 {
// 任意數量的final,static成員變數
// 任意數量的抽象方法聲明
}
性質:
① 介面預設就是抽象的。所以在聲明時,不需要使用關鍵字 abstract;
② 介面中的每一個方法都是抽象的。所以在聲明時,也不需要使用關鍵字 abstract;
③ 介面中的方法一般都是使用 public ,所以 public 也可以省略;
4. 介面的實現:
關鍵字:implements;
文法:
public class 類名 [extends 父類名] implements 介面名 {}
注意:可以一次實現多個介面,有多個介面名時由逗號隔開,實現介面的類(抽象類別除外)必須實現介面中的所有方法;
Java物件導向的基本特徵二