本篇內(nèi)容主要講解“怎么定義Java接口”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“怎么定義Java接口”吧!
定義類要用class關(guān)鍵字,定義接口要用interface關(guān)鍵字。
接口是常量和抽象方法的集合。接口中的數(shù)據(jù)成員,不管有沒有用修飾符“public”、“static”或“final”修飾,都是public static final的,并且必須顯示的初始化。接口中的方法,不管有沒有用修飾符“public”或“abstract”修飾,都是public abstract的,并且必須不帶方法體。
源程序中可以定義多個(gè)類或接口,但最多只能有一個(gè)public的類或接口,如果有則源文件必須取和public的類和接口相同的名字。
接口可以繼承,子接口可以繼承父接口中的常量和抽象方法并添加新的抽象方法等。
接口沒有構(gòu)造方法,不能被實(shí)例化。
接口中的方法必須由類來實(shí)現(xiàn),定義一個(gè)實(shí)現(xiàn)接口的類,格式為:
修飾符 class 類名 extends 父類名 implements 接口名1,接口名2,…,接口名n {
實(shí)現(xiàn)方法
}
如果類不能實(shí)現(xiàn)implements關(guān)鍵字后面所列出的所有接口中所有的方法,則這個(gè)類必須用abstract修飾而成為抽象類。
一個(gè)類只能繼承一個(gè)父類,但卻可以實(shí)現(xiàn)多個(gè)接口。
雖不允許創(chuàng)建接口的實(shí)例,但允許定義接口類型的變量,用來引用實(shí)現(xiàn)接口的類的實(shí)例。
例子:
import static java.lang.System.*;
public class Demo{
public static void main(String[] args) {
SataHdd sh2=new SeagateHdd(); //初始化希捷硬盤
SataHdd sh3=new SamsungHdd(); //初始化三星硬盤
}
}
//串行硬盤接口
interface SataHdd{
public static final int CONNECT_LINE=4;//連接線的數(shù)量,也可寫成int CONNECT_LINE=4;
public abstract void writeData(String data);//寫數(shù)據(jù),也可寫成void writeData(String data);
public abstract String readData();//讀數(shù)據(jù),也可寫成String readData();
}
// 維修硬盤接口
interface fixHdd{
String address = "北京市海淀區(qū)";// 維修地址
boolean doFix();// 開始維修
}
//希捷硬盤
class SeagateHdd implements SataHdd, fixHdd{
public String readData(){return "數(shù)據(jù)";}//希捷硬盤讀取數(shù)據(jù)
public void writeData(String data){out.println("寫入成功");}//希捷硬盤寫入數(shù)據(jù)
public boolean doFix(){return true;}// 維修希捷硬盤
}
//三星硬盤
class SamsungHdd implements SataHdd{
public String readData(){return "數(shù)據(jù)";}//三星硬盤讀取數(shù)據(jù)
public void writeData(String data){out.println("寫入成功");}//三星硬盤寫入數(shù)據(jù)
}
//某劣質(zhì)硬盤,不能寫數(shù)據(jù)
abstract class XXHdd implements SataHdd{
public String readData(){return "數(shù)據(jù)";}//硬盤讀取數(shù)據(jù)
}
一個(gè)接口不實(shí)現(xiàn)另一個(gè)接口,但可以繼承多個(gè)其他接口。接口的多繼承特點(diǎn)彌補(bǔ)了類的單繼承:
public interface SataHdd extends A,B{
public static final int CONNECT_LINE = 4;
public void writeData(String data);
public String readData();
}
interface A{
public void a();
}
interface B{
public void b();
}
到此,相信大家對(duì)“怎么定義Java接口”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
分享名稱:怎么定義Java接口-創(chuàng)新互聯(lián)
鏈接URL:http://jinyejixie.com/article0/cospio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、品牌網(wǎng)站制作、關(guān)鍵詞優(yōu)化、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站策劃、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)