java1002java,疯狂java学习笔记1002---抽象类及接口
抽象類:
1、抽象方法是只有方法簽名,沒有方法實現的方法。
2、抽象方法和抽象類必須使用abstract修飾符來定義,有抽象方法的類只能被定義成抽象類,抽象類里可以沒有抽象方法。
3、*抽象方法不能有方法體*
4、抽象類不能被實例化,即使抽象類里不包含抽象方法,也不能創建實例。
5、抽象類的構造器不能用于創建實例,主要是用于被其子類調用。
接口:
1、接口里不能包含普通方法,接口里所有方法都是抽象方法。
2、一個接口可以有多個直接父接口,但接口只能繼承接口,不能繼承類。
3、由于接口定義的是一種規范,接口里不能包含構造器和初始化塊定義。
4、接口里的屬性只能是常量,接口里的方法只能是抽象方法。
5、接口里所有成員,包括常量、方法、內部類和枚舉類都是public訪問權限。
定義接口成員時,可以省略訪問控制修飾符,如果指定訪問控制修飾符,只能使用public訪問控制修飾符。
對于接口里定義的常量屬性,系統自動為這些屬性增加static和final兩個修飾符.
int MAX_SIZE = 50;
public static final int MAX_SIZE = 50;//這兩行代碼結構一樣
接口中的方法總是使用public abstract來修飾的。
實現接口方法時,必須使用public訪問控制修飾符,因為接口里的方法都是public的,而子類重寫父類方法時
訪問權限只能更大或者相等。
接口和抽象類相同點:
1、都不能實例化
2、接口和抽象類都可以包含抽象方法,實現接口或繼承抽象類的普通子類都必須實現這些抽象方法。
接口和抽象類不同點:
1、接口里只能包含抽象方法,抽象類則可以包含普通方法。
2、接口里不能定義靜態方法,抽象類里可以定義靜態方法。
3、接口里只能定義靜態常量屬性,不能定義普通屬性,抽象類里都可以
4、接口里不包含構造器,抽象類里可以。
5、接口里不能包含初始化塊,抽象類可以
6、接口多實現,抽象類單繼承。
總結
以上是生活随笔為你收集整理的java1002java,疯狂java学习笔记1002---抽象类及接口的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java servlet是单例吗_关于j
- 下一篇: 接口测试如何测