您好,歡迎來(lái)到賦能網(wǎng)!

java中接口只允許單一繼承嗎?java接口有哪些分類(lèi)?

賦能網(wǎng) 2023-05-09 82

接口在java編程語(yǔ)言中是一個(gè)抽象類(lèi)型,是抽象方法的集合,接口通常以interface來(lái)聲明。一個(gè)類(lèi)通過(guò)繼承接口的方式,從而來(lái)繼承接口的抽象方法。那java中接口只允許單一繼承嗎?下面來(lái)我們就來(lái)給大家講解一下。

是的,java接口不能多繼承,只能單繼承,但可以實(shí)現(xiàn)多個(gè)接口。

java接口有哪些分類(lèi)?

1.單方法接口

以下是引用片段:

public interface Actionlistener
{
    public abstract void actionPerformed(ActionEvent event);
}

僅且只有一個(gè)方法,只有實(shí)現(xiàn)了這個(gè)接口(重寫(xiě)這個(gè)接口中的唯一一個(gè)方法),你才有資格去事件監(jiān)聽(tīng)器列表里注冊(cè)(參數(shù)為Actionlistener類(lèi)型),當(dāng)事件源變動(dòng)時(shí),自動(dòng)調(diào)用這個(gè)唯一的actionPerformed方法。

2.標(biāo)識(shí)接口

是沒(méi)有任何方法和屬性的接口。標(biāo)識(shí)接口不對(duì)實(shí)現(xiàn)它的類(lèi)有任何語(yǔ)意上的要求,它僅僅表明了實(shí)現(xiàn)它的類(lèi)屬于一個(gè)特定的類(lèi)型(傳遞)。

不推薦過(guò)多的使用標(biāo)識(shí)接口。

3.常量接口

用Java接口來(lái)聲明一些常量,然后由實(shí)現(xiàn)這個(gè)接口的類(lèi)使用這些常量(以前在做畫(huà)板的時(shí)候這么干過(guò))。建議不要模仿這種常量接口的做法。

【范例】

定義接口格式:

[public]interface 接口名稱(chēng) [extends父接口名列表]
{
//靜態(tài)常量
[public] [static] [final] 數(shù)據(jù)類(lèi)型變量名=常量值;
//抽象方法
[public] [abstract] [native] 返回值類(lèi)型方法名(參數(shù)列表);
}

實(shí)現(xiàn)接口格式:

[修飾符] class 類(lèi)名[extends 父類(lèi)名][implements 接口A, 接口B, ···]
{
    類(lèi)成員變量和成員方法;
    為接口A中的所有方法編寫(xiě)方法體, 實(shí)現(xiàn)接口A;
    為接口B中的所有方法編寫(xiě)方法體, 實(shí)現(xiàn)接口B;
}

實(shí)例:

本例定義接口AreaInterface,其中有靜態(tài)常量pai和求面積的抽象方法area()。類(lèi)Circle和類(lèi)Rectangle實(shí)現(xiàn)了AreaInterface接口,即為接口中的抽象方法area()編寫(xiě)了滿(mǎn)足各自要求的方法體,分別求圓形和長(zhǎng)方形的面積。

程序:AreaInterface.java

package intrFace;
public interface AreaInterface
{
    double pai = Math.PI;
    double area();
}

程序:Circle.java

package intrFace;
public class Circle implements AreaInterface
{
    double r;
    public Circle(double x)
    {
        r = x;
    }
    //實(shí)現(xiàn)接口中的抽象方法,求圓面積
    public double area()
    {
        return pai * r * r;
    }
    public String toString()
    {
        return "圓:r=" + r + "\tarea=" + area();
    }
}

程序:Rectangle.java

package intrFace;
public class Rectangle implements AreaInterface
{
    double x, y;
    public Rectangle(double a, double b)
    {
        x = a;
        y = b;
    }
    public double area() //實(shí)現(xiàn)接口中的抽象方法,求長(zhǎng)方形面積
    {
        return x * y;
    }
    public String toString()
    {
        return "長(zhǎng)方形:x=" + x + ";y=" + y + "\t"
        area = +area();
    }
}

Java接口有以上這三種分類(lèi),java接口在程序中還是很重要的,有了接口能夠保證代碼的安全以及穩(wěn)定,但是接口不能多繼承,只能單繼承,最后大家如果想要了解更多初識(shí)java知識(shí),敬請(qǐng)關(guān)注賦能網(wǎng)。


本文鏈接:

本文章“java中接口只允許單一繼承嗎?java接口有哪些分類(lèi)?”已幫助 82 人

免責(zé)聲明:本信息由用戶(hù)發(fā)布,本站不承擔(dān)本信息引起的任何交易及知識(shí)產(chǎn)權(quán)侵權(quán)的法律責(zé)任!

本文由賦能網(wǎng) 整理發(fā)布。了解更多培訓(xùn)機(jī)構(gòu)》培訓(xùn)課程》學(xué)習(xí)資訊》課程優(yōu)惠》課程開(kāi)班》學(xué)校地址等機(jī)構(gòu)信息,可以留下您的聯(lián)系方式,讓課程老師跟你詳細(xì)解答:
咨詢(xún)熱線:4008-569-579

如果本頁(yè)不是您要找的課程,您也可以百度查找一下: