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