大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) hot資訊 定義接口注意事項(xiàng)

定義接口注意事項(xiàng)

更新時(shí)間:2020-10-20 17:51:23 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1343次

Java接口是一系列方法的聲明,是一些方法特征的集合,一個(gè)接口只有方法的特征沒(méi)有方法的實(shí)現(xiàn),因此這些方法可以在不同的地方被不同的類實(shí)現(xiàn),而這些實(shí)現(xiàn)可以具有不同的行為(功能)。某種程度上可以把接口看成是一個(gè)特殊的類,所以在定義接口的時(shí)候需要我們注意一些接口的特性,防止出錯(cuò)。下面和大家一起來(lái)看看定義接口注意事項(xiàng)。

接口中允許定義 default 方法也是從 Java 8 開(kāi)始的,比如說(shuō) printDescription(),它始終由一個(gè)代碼塊組成,為實(shí)現(xiàn)該接口而不覆蓋該方法的類提供默認(rèn)實(shí)現(xiàn),也就是說(shuō),無(wú)法直接使用一個(gè)“;”號(hào)來(lái)結(jié)束默認(rèn)方法——編譯器會(huì)報(bào)錯(cuò)的。

允許在接口中定義默認(rèn)方法的理由是很充分的,因?yàn)橐粋€(gè)接口可能有多個(gè)實(shí)現(xiàn)類,這些類就必須實(shí)現(xiàn)接口中定義的抽象類,否則編譯器就會(huì)報(bào)錯(cuò)。假如我們需要在所有的實(shí)現(xiàn)類中追加某個(gè)具體的方法,在沒(méi)有 default 方法的幫助下,我們就必須挨個(gè)對(duì)實(shí)現(xiàn)類進(jìn)行修改。

來(lái)看一下 Electronic 接口反編譯后的字節(jié)碼吧,你會(huì)發(fā)現(xiàn),接口中定義的所有變量或者方法,都會(huì)自動(dòng)添加上 public 關(guān)鍵字——假如你想知道編譯器在背后都默默做了哪些輔助,記住反編譯字節(jié)碼就對(duì)了,用實(shí)例看一下,接口定義注意事項(xiàng)如何在實(shí)際運(yùn)用中避免。

public interface Electronic

{

public abstract int getElectricityUse();

public static boolean isEnergyEfficient(String electtronicType)

{

return electtronicType.equals("LED");

}

public void printDescription()

{

System.out.println("\u7535\u5B50");

}

public static final String LED = "LED";

}

由上面的例子我們就可以得出下面這些結(jié)論:

· 接口中允許定義變量

· 接口中允許定義抽象方法

· 接口中允許定義靜態(tài)方法(Java 8 之后)

· 接口中允許定義默認(rèn)方法(Java 8 之后)

除此之外,我們還應(yīng)該知道以下這些接口定義注意事項(xiàng)也很重要:


1.接口不允許直接實(shí)例化。

image.png


需要定義一個(gè)類去實(shí)現(xiàn)接口,然后再實(shí)例化。

public class Computer implements Electronic {

public static void main(String[] args) {

new Computer();

}

@Override

public int getElectricityUse() {

return 0;

}

}


2.接口可以是空的,既不定義變量,也不定義方法。

public interface Serializable {

}


3.不要在定義接口的時(shí)候使用 final 關(guān)鍵字,否則會(huì)報(bào)編譯錯(cuò)誤,因?yàn)榻涌诰褪菫榱俗屪宇悓?shí)現(xiàn)的,而 final 阻止了這種行為。

image.png



4.接口的抽象方法不能是 private、protected 或者 final。

image.png

image.png

image.png


5. 接口的變量是隱式 public static final,所以其值無(wú)法改變。

當(dāng)然,我們?cè)趯?shí)際定義接口的過(guò)程中也許沒(méi)有充分的時(shí)間去考慮到以上提到的接口定義注意事項(xiàng)。那么只能在日常定義接口的操作中養(yǎng)成良好的習(xí)慣,避免出現(xiàn)定義接口報(bào)錯(cuò)的情況。這些Java基礎(chǔ)中需要注意的細(xì)節(jié)在本站的Java基礎(chǔ)教程中都會(huì)有詳細(xì)的解答,不會(huì)一帶而過(guò),本著嚴(yán)謹(jǐn)求實(shí)的態(tài)度,我們才能學(xué)有所成!


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

  • 全國(guó)校區(qū) 2025-04-24 搶座中
  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 一级做a爱片久久蜜桃 | 亚洲国产综合人成综合网站00 | 99视频在线看 | 九九热中文字幕 | 亚洲国产精品毛片∧v卡在线 | 日韩精品一区二区三区 在线观看 | 在线免费小视频 | 人人夜| 国产911情侣拍拍在线播放 | 四虎在线观看免费永久 | sea8国产精品视频 | 亚洲欧美日本另类 | 深夜影院深a久久 | 国产福利在线免费观看 | 在线观看国产福利 | 午夜影院欧美 | 国产美女久久 | 国产亚洲欧美ai在线看片 | 国内自拍tv在线 | 久久福利精品 | 午夜免费播放观看在线视频 | 俺去久久 | 麻豆国产精品 | 亚洲国产系列一区二区三区 | 国产精品2020在线看亚瑟 | 日韩欧美精品一区二区三区 | 久久一日本道色综合久久 | 久久香蕉国产线看观看精品蕉 | 日韩高清成人 | 美美女高清毛片视频黄的一免费 | 欧美人成人亚洲专区中文字幕 | 欧美xxxxbbbb在线播放 | 日本不卡影院 | 亚洲天堂久久精品成人 | 二区不卡 | 狠狠婷| 天天舔| 国产久草视频 | 日日噜噜夜夜狠视频免费 | 98色花堂永久地址国产精品 | 久久九九影视 |