Java声明定义抽象类_接口_继承_实现
文章目錄
- 聲明定義抽象類
- 聲明定義接口
- 派生類、抽象類、接口的繼承要點
聲明定義抽象類
public abstract class CRMSystem {public abstract Client add(Client newGuy); //添加用戶方法public abstract Event add(Event e, Client guy); //重載添加事件、用戶方法public abstract Event[] todayEvents(); //今日事件方法 }說明:
 1.抽象類有構造器
 2.接口和抽象類不能實例化
 3.抽象方法所在的類必須是抽象類(接口是純抽象類)
 4.變量不存在抽象的概念
 5.抽象類可以只有抽象方法,沒具體方法
 6.抽象類可以只有具體方法,沒有抽象方法,這樣設計的目的就是不讓調用者創建該類的實例對象
 7.抽象類的類體內容可以為空
 8.聲明定義類的時候,類變量或者成員變量可以不要初始化(可以不賦初始值),創建對象的時候會自動初始化
 9.方法內聲明的變量則必須初始化,否則會報編譯錯誤
 10.抽象類中的抽象方法的訪問權限修飾符可以是 public、protected、default,但是不可以是 private。若沒有指明訪問權限修飾符,默認是default
聲明定義接口
public interface CRMSystem {Client add(Client newGuy);Event add(Event e, Client guy);Event[] todayEvents();// 默認方法,用來升級接口public default void myMethodDefault() {...} }說明:
 1.接口中的變量,默認 public static final,其實就是常量,而且必須賦值
 2.接中的方法一定是 public abstract 的(默認,可以不寫)
 3.如果是 Java 8,還可以額外包含默認方法和靜態方法
4.如果是 Java 9,還可以包含私用方法
private 返回值類型 方法名(參數列表) {方法體} // 私有的普通方法 private static 返回值類型 方法名(參數列表) {方法體} // 私有的靜態方法5.不能通過實現類對象調用接口的靜態方法,特別注意了
 6.接口不可以有靜態代碼塊和構造器
 7.接口體的內容可以為空
派生類、抽象類、接口的繼承要點
1.一個類(不論是具體類還是抽象類)只能繼承自一個類(不論是具體類還是抽象類),不可以同時繼承自多個類,換句話說一個類的直接父類只能有一個,這叫單繼承
 2.一個類可以多級繼承,例如,A 繼承自 B,B 繼承自 C
 3.一個類可以同時實現多個接口
 4.一個父類可以有多個子類,即不同的類可以繼承自同一個父類
 5.接口可以繼承自(extends)另外一個接口,也可以同時繼承自多個接口
 6.具體的子類如果繼承自(extends)一個抽象類,則必須實現抽象類中的全部抽象方法
 7.具體的實現子類如果實現自(implements)一個接口,則必須實現接口中的全部抽象方法
 8.如果聲明的是抽象類,繼承自(extends)一個抽象類,則可以實現部分的抽象方法,甚至都不實現也行
9.如果聲明的是抽象類,實現自(implements)一個接口,則可以實現部分的抽象方法,也可以都不實現,整個類體空的也可以;也可以實現全部的抽象方法,抽象類中可以沒有抽象方法。
10.實現(implements)也是一種特殊的繼承關系
 11.父類,又叫基類、超類;子類,又叫派生類
 12.實現抽象方法,也可以理解為重寫(Override)方法
 13.子類的成員方法無法直接訪問父類的私域(private field)
 14.一個具體的實現子類同時實現多個接口時,如果不同接口含有相同方法簽名的默認方法,具體類必須重寫沖突的默認方法
 15.一個具體的實現子類同時實現多個接口時,如果不同接口含有相同方法簽名的抽象方法,具體的實現子類只要實現其中一個抽象方法即可
 16.一個具體的實現子類的直接父類和接口含有相同方法簽名的方法時,通過具體的實現子類對象調此方法,優先使用直接父類的方法
 17.子類無法繼承父類的構造器
 18.子類無法繼承父類的私有變量和私有方法(實際已經繼承了,只是不可見而已)
 19.子類不能繼承父類的靜態變量和靜態方法
 20.子類只能繼承父類的成員變量和成員方法
 21.一個具體類繼承自一個抽象類,必須實現抽象類中的全部抽象方法;這個具體類可以叫作抽象類的子類、派生類、實現類;而抽象類可以叫作該具體類的父類、基類、超類。
 存疑:A 繼承自 B,那么 B 能否叫作 A 的基類、超類呢?
總結
以上是生活随笔為你收集整理的Java声明定义抽象类_接口_继承_实现的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: JSTL(Java 标准标签库)
- 下一篇: 车身贴膜改色怎么备案多少钱(车身贴膜改色
