接口在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)熱線(xiàn):4008-569-579