1.abstract(抽象) 抽象含義:具有某種對象的特征,但不完整。(似是而非) 1.1 抽象類 語法: 在class關鍵字前面,加上abstract,代表這個類是一個抽象類 public abstract class Test{ ....... } 作用: 可被子類繼承,提供共性屬性和方法 可聲 ...
1.abstract(抽象)
抽象含義:具有某種對象的特征,但不完整。(似是而非)
1.1 抽象類
語法: 在class關鍵字前面,加上abstract,代表這個類是一個抽象類
public abstract class Test{ ....... }
作用:
- 可被子類繼承,提供共性屬性和方法
- 可聲明為引用,強制使用多態
重點:
- 抽象類不能被實例化.
- 如果要實例化,就只能實例化他這個類的子類
1.2 抽象方法
語法:使用abstract修飾方法,代表這個方法是一個抽象方法
public abstract class Test{ public abstract void eat(); }
定義:被abstract修飾,只有方法聲明,沒有方法實現({}部分)
總結:
- abstrac t修飾類:不能new對象,但可以聲明引用。
- abstract修飾方法:只有方法聲明,沒有方法實現。(需包含在抽象類中 )
- 抽象類中不一定有抽象方法,但有抽象方法的類- 定是抽象類。
- 子類繼承抽象類後,必須覆蓋父類所有的抽象方法,否則子類還是抽象類。
2.static (靜態)
概念:
- 靜態(static)可以修飾屬性和方法。
- 稱為靜態屬性(類屬性)、靜態方法(類方法)。
- 靜態成員是全類所有對象共用的成員。
- 在全類中只有一份,不因創建多個對象而產生多份。
- 不必創建對象,可直接通過類名訪問。
2.1 靜態屬性
靜態屬性是整個類共同持有的共用空間(一份),任何對象修改,都會影響其他對象
public class Test{ public static void main(String[] args){ Person person1 = new Person(); person1.name = "trm"; Person person2 = new Person(); person2.name = "jack"; System.out.println(person1.name); System.out.println(person2.name); } } class Person{ staitc String name; } //運行結果為 jack jack
2.2 靜態方法
定義:static修飾的方法稱為靜態方法(類方法)
已知學過的靜態方法有:
- Arrays.copyOf()//複製數組
- Arrays.shor()//JDK提供的排序
靜態方法可通過 類名.方法名 調用方法
2.3 靜態的特點
- 靜態方法允許直接訪問靜態成員。
- 靜態方法不能直接訪問非靜態成員。
- 靜態方法中不允許使用thi s或是super關鍵字。
- 靜態方法可以繼承不能重寫、沒有多態
3.final (最終)
31 final修飾類
此類不能被繼承。
String、Math、 System均為final修飾的類,不能被繼承。
3.2 final修飾方法
此方法不能被覆蓋。
意為最終方法,不支持子類以覆蓋的形式修改。
3.3 final修飾變數
此變數值不能被改變(常量,無初始值,只能賦值一次)
- 局部常量:顯示初始化。
- 實例常量:顯示初始化、動態代碼塊、構造方法。
- 靜態常量:顯示初始化、靜態代碼塊。
- 基本數據類型常量:值不可變。
- 引用數據類型常量:地址不可變。