大战熟女丰满人妻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ù)文檔推薦 >>
主站蜘蛛池模板: 欧美开嫩苞实拍视频在线观看 | 99热这里只有精品首页 | 青青久在线精品视频 | 一本大道香蕉高清久久 | 亚洲欧美综合乱码精品成人网 | 97啪啪 | 久久天天躁狠狠躁狠狠躁 | 日韩小视频| 福利精品| 欧美一级高清在线观看 | 爽爽影院在线免费观看 | 波多野结衣一区在线 | 日日夜夜天天干 | 欧美另类69xxxxx 视频 | 亚洲日本人成网站在线观看 | 亚洲不卡免费视频 | 99国内视频 | 99热在线精品播放 | 另类重口性色老妇 | 国产成人精品s8sp视频 | 亚拍一区 | 人人澡人人人人夜夜爽 | 色青青草原桃花久久综合 | 国内揄拍国内精品久久 | 九九365资源稳定资源站 | 色综合久久夜色精品国产 | 国产精品亚洲欧美日韩久久 | baoyu777永久免费视频 | 香香在线观看视频 | 欧美久久网 | 中文字幕中韩乱码亚洲大片 | 久久人人精品 | 亚洲欧美日韩一区二区 | 免费深夜视频 | 国产精品伦理久久久久 | 99在线观看视频 | 国产视频一二 | 欧美综合图 | 国产精品久久久久久福利69堂 | 欧美亚洲综合一区 | 精品一区二区免费视频 |