黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) java定義接口的關(guān)鍵字之interface

java定義接口的關(guān)鍵字之interface

更新時(shí)間:2020-06-02 16:51:23 來源:動(dòng)力節(jié)點(diǎn) 瀏覽3020次

java定義接口的關(guān)鍵字interface,interface這個(gè)關(guān)鍵字產(chǎn)生一個(gè)完全抽象的類,它根本就沒有提供任何具體的實(shí)現(xiàn),它允許創(chuàng)建者確定方法名.參數(shù)列表和返回類型,但沒有任何方法體,接口只提供了形式,而未提供任何具體實(shí)現(xiàn)

java定義接口的關(guān)鍵字之interface

一個(gè)接口表示:"所有實(shí)現(xiàn)了該特定接口的類看起來都像這樣".接口被用來建立類與類之間的協(xié)議(某些面向?qū)ο笳Z言用關(guān)鍵字protocol來完成這一功能.)

要想創(chuàng)建一個(gè)接口,需要用interface關(guān)鍵字代替class關(guān)鍵字,就像類一樣,可以在interface前添加public關(guān)鍵字(但僅限于該接口在與其同名的文件中被定義),如果不加public,則只有包訪問權(quán)限,這樣就只能在同一個(gè)包內(nèi)可用,接口也可以包含域,但是這些域都隱式地是static和final的

要讓一個(gè)類遵循某個(gè)特定接口(或者是一組接口),需要使用implements關(guān)鍵字,它表示"interface只是它的外貌,但是現(xiàn)在我要聲明它如何工作的."除此之外,它看起來很像繼承

恰當(dāng)?shù)脑瓌t是優(yōu)先選擇類而不是接口,從類開始,如果接口的必要性變的非常明確,那么就進(jìn)行重構(gòu).

//:?interfaces/music5/Music5.java
//?Interfaces.
package?object;
import?static?net.mindview.util.Print.*;
enum?Note{
????MIDDLE_C,MIDDLE_D,MIDDLE_F
}
interface?Instrument?{
??//?Compile-time?constant:
??int?VALUE?=?5;?//?static?&?final?可以聲明域,但這些域都隱式地是static和final的
??//?Cannot?have?method?definitions:
??void?play(Note?n);?//?Automatically?public?//自動(dòng)的是public
??void?adjust();
}

class?Wind?implements?Instrument?{
??public?void?play(Note?n)?{
????print(this?+?".play()?"?+?n);
??}
??public?String?toString()?{?return?"Wind";?}
??public?void?adjust()?{?print(this?+?".adjust()");?}
}

class?Percussion?implements?Instrument?{
??public?void?play(Note?n)?{
????print(this?+?".play()?"?+?n);
??}
??public?String?toString()?{?return?"Percussion";?}
??public?void?adjust()?{?print(this?+?".adjust()");?}
}

class?Stringed?implements?Instrument?{
??public?void?play(Note?n)?{
????print(this?+?".play()?"?+?n);
??}
??public?String?toString()?{?return?"Stringed";?}
??public?void?adjust()?{?print(this?+?".adjust()");?}
}

class?Brass?extends?Wind?{
??public?String?toString()?{?return?"Brass";?}
}????

class?Woodwind?extends?Wind?{
??public?String?toString()?{?return?"Woodwind";?}
}

public?class?Music5?{
??//?Doesn't?care?about?type,?so?new?types
??//?added?to?the?system?still?work?right:
??static?void?tune(Instrument?i)?{
????//?...
????i.play(Note.MIDDLE_C);
??}
??static?void?tuneAll(Instrument[]?e)?{
????for(Instrument?i?:?e)
??????tune(i);
??}????
??public?static?void?main(String[]?args)?{
????//?Upcasting?during?addition?to?the?array:
????Instrument[]?orchestra?=?{
??????new?Wind(),
??????new?Percussion(),
??????new?Stringed(),
??????new?Brass(),
??????new?Woodwind()
????};
????tuneAll(orchestra);
??}
}?/*?Output:
Wind.play()?MIDDLE_C
Percussion.play()?MIDDLE_C
Stringed.play()?MIDDLE_C
Brass.play()?MIDDLE_C
Woodwind.play()?MIDDLE_C
*///:~

繼承和接口可以在同一個(gè)類同時(shí)使用

//: polymorphism/Sandwich.java
// Order of constructor calls.
package ch08;
interface FastFood{
? ? void show();
}

class Meal {
? Meal() { System.out.println("Meal()"); }
}

class Bread {
? Bread() { System.out.println("Bread()"); }
}

class Cheese {
? Cheese() { System.out.println("Cheese()"); }
}

class Lettuce {
? Lettuce() { System.out.println("Lettuce()"); }
}


class Lunch extends Meal {
? Lunch() { System.out.println("Lunch()"); }
}


class PortableLunch extends Lunch {
? PortableLunch() { System.out.println("PortableLunch()");}
}

public class Sandwich extends PortableLunch implements FastFood{ //繼承和接口可以在同一個(gè)類同時(shí)使用
? private Bread b = new Bread();
? private Cheese c = new Cheese();
? private Lettuce l = new Lettuce();
? public void show()
? {
? ? ? System.out.println("pushing your sandwich order");
? }
? public Sandwich()
? {
? ? ? System.out.println("Sandwich()");?
? ? ? show();
? }
? public static void main(String[] args) {
? ? new Sandwich();
? }
} /* Output:
Meal()
Lunch()
PortableLunch()
Bread()
Cheese()
Lettuce()
Sandwich()pushing your sandwich order
*///:~

以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對“java定義接口的關(guān)鍵字之interface”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。

提交申請后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 久久天天躁狠狠躁夜夜不卡 | 三级黄色网| 成人欧美一区二区三区 | 中文字幕在线一区二区三区 | 国产特黄特色的大片观看免费视频 | 亚洲美女综合 | a国产视频| 有哪些免费的毛片可以看 | 小明免费视频一区二区 | 天天摸天天操天天爽 | 国产高清美女一级a毛片久久 | 黄网在线观看 | 成人亚洲欧美日韩在线观看 | 成人男女18免费o | 国产精品久久久久久福利漫画 | 丰满大屁股美女一级毛片 | 99久久99 | 国产午夜小视频 | 免费视频久久久 | 欧美视频一区在线观看 | 福利社午夜剧场 | 免费体验120秒 | 国产亚洲精品午夜高清影院 | 一级一片在线播放在线观看 | 美女很黄很黄免费 | 在线播放精品 | 日韩欧美在线综合网 | 手机毛片在线观看 | 91久久精品都在这里 | 99视频免费 | 777国产精品永久免费观看 | 久久窝窝国产精品午夜看15 | 中文字幕av一区 | 最近中文字幕视频国语中文字幕 | 在线观看a网站 | 亚洲一区二区高清 | 亚洲一区二区三区精品国产 | 欧美乱人伦中文在线观看不卡 | 天天噜日日噜夜夜噜 | 国产日韩在线视频 | 日本免费中文字幕在线看 |