溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

?Java中接口的定義和實現(xiàn)

發(fā)布時間:2020-06-19 16:44:08 來源:億速云 閱讀:174 作者:元一 欄目:編程語言

Java接口定義和實現(xiàn)

Java接口是一系列方法的聲明,是一些方法特征的集合,一個接口只有方法的特征沒有方法的實現(xiàn),因此這些方法可以在不同的地方被不同的類實現(xiàn),而這些實現(xiàn)可以具有不同的行為(功能)。

兩種含義:一,Java接口,Java語言中存在的結(jié)構(gòu),有特定的語法和結(jié)構(gòu);二,一個類所具有的方法的特征集合,是一種邏輯上的抽象。前者叫做"Java接口",后者叫做"接口"。

使用interface來定義一個接口。接口定義類似類的定義,分為接口的聲明和接口體,其中接口體由常量定義和方法定義兩部分組成。

定義接口的基本格式如下:   

[修飾符] interface 接口名 [extends 父接口名列表]{
    [public] [static] [final] 常量;
    [public] [abstract] 方法;
}

修飾符:可選參數(shù)public,如果省略,則為默認的訪問權(quán)限;

接口名:指定接口的名稱,默認情況下,接口名必須是合法的Java標示符,一般情況下,要求首字符大寫;

extends  父接口名列表:可選參數(shù),指定定義的接口繼承于哪個父接口。當使用extends關(guān)鍵字時,父接口名為必選參數(shù)。

方法:接口中的方法只有定義而不能有實現(xiàn)

例如:

public interface IStudent {
    final int X = 10;

    float getScore(int studentNo);

    int getStudentAge(int StudentNo);
}

接口的定義完了,下面就是接口的實現(xiàn)了:

Java實現(xiàn)接口,用implements:

[修飾符] class <類名> [extends 父類名] [implements 接口列表]{
}

修飾符:可選參數(shù),用于指定類的訪問權(quán)限,可選值為public、abstract和final。

類名:必選參數(shù),用于指定類的名稱,類名必須是合法的Java標識符。一般情況下,要求首字母大寫。

extends 父類名:可選參數(shù),用于指定要定義的類繼承于哪個父類。當使用extends關(guān)鍵字時,父類名為必選參數(shù)。

implements 接口列表:可選參數(shù),用于指定該類實現(xiàn)的是哪些接口。當使用implements關(guān)鍵字時,接口列表為必選參數(shù)。當接口列表中存在多個接口名時,各個接口名之間使用逗號分隔。

public class Cire implements CalInterface   
{  
    public float getArea(float r)   
    {  
        float area=PI*r*r;//計算圓面積并賦值給變量area  
        return area;//返回計算后的圓面積  
    }  
    public float getCircumference(float r)   
    {  
        float circumference=2*PI*r;      //計算圓周長并賦值給變量circumference  
        return circumference;           //返回計算后的圓周長  
    }  
    public static void main(String[] args)   
    {  
        Cire c = new Cire();  
        float f = c.getArea(2.0f);  
        System.out.println(Float.toString(f));  
    }  
}

在類的繼承中,只能做單重繼承,而實現(xiàn)接口時,一次則可以實現(xiàn)多個接口,每個接口間使用逗號“,”分隔。

這時就可能出現(xiàn)常量或方法名沖突的情況,解決該問題時,如果常量沖突,則需要明確指定常量的接口,這可以通過“接口名.常量”實現(xiàn)。如果出現(xiàn)方法沖突時,則只要實現(xiàn)一個方法就可以了。

以上就是java接口可以實現(xiàn)嗎的詳細內(nèi)容,更多請關(guān)注億速云其它相關(guān)文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI