JAVA抽象類是一種使用了關(guān)鍵詞“abstract”的聲明的類,凡是使用了關(guān)鍵詞“abstract”的關(guān)鍵詞修飾的類就是抽象類。前面的文章我們也提到過“類”這個“抽象類”也不例外,是大數(shù)據(jù)開發(fā)基礎的JAVA基礎知識,但這種類是比較特殊的所以要單獨拿出來說一說。接下來就給大家講解“抽象類”。

一、抽象類
如上文所說“抽象類”的定義就是使用了關(guān)鍵詞“abstract”的類。在面向?qū)ο蟮母拍钪校械膶ο蠖际峭ㄟ^類來描繪對象的,但是反之,并不一定是所有的類都用來描繪對象。因此在某類中并沒有包含足夠的信息來描繪對象,這樣的類就是抽象類。
定義抽象類方法是用abstract關(guān)鍵詞修飾例子如下
Abstract void shout();//定義抽象方法
定義抽象類是用abstract關(guān)鍵字修飾例如以下所示
abstract class A{//定義一個抽象類
public void fun(){//普通方法
System.out.println(“存在方法體的方法”);
}
public abstract void print();//抽象方法,沒有方法體,有abstract關(guān)鍵字做修飾
}
抽象類的特點:
1、有抽象方法的類只能被定義成抽象類,但是抽象類可以沒有抽象方法
2、抽象類是沒有具體對象的概念類,也就是指抽象類不能實例化為對象
3、如果一個類中含有未實現(xiàn)的抽象方法,那么該類就要使用abstract的聲明作為抽象類
4、抽象方法不可以有方法體
由于抽象類不能實例化對象,所以抽象類必須被繼承才能被使用。其次父類本身就是抽象類的,所以不能使用該方法。
二、接口
JAVA接口(interface)是一系列方法的聲明,是一些方法特征的集合,在JAVA編程語言中是一個抽象類型,是抽象方法的集合,接口一般用interface來聲明。一個接口只有方法的特征沒有方法的實現(xiàn),因此這些方法可以在不同的地方被不同的類實現(xiàn),而這些實現(xiàn)可以具有不同的功能。也可以這樣理解一個類只有一個直接父類,但是可以有多個接口,JAVA接口本身沒有任何實現(xiàn)。
注意事項:
1、接口并不是類,不要因為接口的編寫方式和類很像就想當然的認為他們是一樣的,但實際上他們屬于不同的概念
2、接口是無法被實例化的,但卻可以被實現(xiàn)
3、接口類型可用來聲明一個變量
4、接口只能定義抽象方法
5、接口中所有的方法都是抽象的和public的,所有的屬性都是public,static,final的。
6、接口用來彌補類無法實現(xiàn)多繼承的局限。
接口定義的語法格式
[public]interface 接口名稱 [extends父接口名列表]
{
//靜態(tài)常量
[public] [static] [final] 數(shù)據(jù)類型變量名=常量值;
//抽象方法
[public] [abstract] [native] 返回值類型方法名(參數(shù)列表);
}
注意:
1、public 表示接口的修飾符,當沒有修飾符時,則使用默認的修飾符,此時該接口的訪問權(quán)限僅局限于所屬的包;
2、interface_name 表示接口的名稱。
3、extends 表示接口的繼承關(guān)系;
4、interface1_name 表示要繼承的接口名稱;
5、constant_name 表示變量名稱,一般是 static 和 final 型的;
6、returnType 表示方法的返回值類型;
7、parameter_list 表示參數(shù)列表,在接口中的方法是沒有方法體的。
講完了接口的一些基礎知識,那么該如何實現(xiàn)接口呢?接下來就給大家講解如何實現(xiàn)接口

三、實現(xiàn)接口
接口被定義后,一個或者多個類都可以實現(xiàn)該接口,這需要在實現(xiàn)接口的類的定義中包含 implements 子句,然后實現(xiàn)由接口定義的方法。實現(xiàn)接口的一般形式如下:
{
//主體
}
當類實現(xiàn)接口的時候,類要實現(xiàn)接口中所有的方法,不然類就必須聲明為抽象的類。
注意事項:
1、一個類也可以同時實現(xiàn)多個接口
2、一個類只能繼承一個類,但接口卻能實現(xiàn)多個
3、一個接口與另一個接口能夠繼承

JAVA的抽象類和接口都是比較難理解的,但這又是JAVA中的基礎概念,是必須要吃透,搞懂的,所以這個要多去琢磨下,可以邊練邊理解,這樣應該能幫助學習效率,以上就是大數(shù)據(jù)開發(fā)基礎之JAVA抽象類和接口的知識,希望大家能有所收獲,每日更新大數(shù)據(jù)及JAVA的相關(guān)知識,不想錯過就點個關(guān)注吧,謝謝大家支持。
本文由網(wǎng)上采集發(fā)布,不代表我們立場,轉(zhuǎn)載聯(lián)系作者并注明出處:http://m.zltfw.cn/shbk/39358.html