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

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

三、實現介面
介面被定義後,一個或者多個類都可以實現該介面,這需要在實現介面的類的定義中包含 implements 子句,然後實現由介面定義的方法。實現介面的一般形式如下:
<public> class <class_name> [extends superclass_name] [implements interface[, interface…]]
{
//主體
}
當類實現介面的時候,類要實現介面中所有的方法,不然類就必須聲明為抽象的類。
注意事項:
1、一個類也可以同時實現多個介面
2、一個類只能繼承一個類,但介面卻能實現多個
3、一個介面與另一個介面能夠繼承

JAVA的抽象類和介面都是比較難理解的,但這又是JAVA中的基礎概念,是必須要吃透,搞懂的,所以這個要多去琢磨下,可以邊練邊理解,這樣應該能幫助學習效率,以上就是大數據開發基礎之JAVA抽象類和介面的知識,希望大家能有所收穫,每日更新大數據及JAVA的相關知識,不想錯過就點個關注吧,謝謝大家支持。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/269198.html
微信掃一掃
支付寶掃一掃