最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解java接口基礎(chǔ)知識(shí)附思維導(dǎo)圖

 更新時(shí)間:2019年04月08日 09:25:14   作者:王小錘偏偏錘你  
這篇文章主要介紹了java接口基礎(chǔ)知識(shí),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

接口:

官方的含義是---->java接口是一系列方法的聲明,是一些方法特征的集合

疑問(wèn):

那為什么不用抽象類呢?把他們共有的方法集合起來(lái)放在一個(gè)抽象類里面,同樣可以調(diào)用哇,但是反過(guò)來(lái)想一想如果這些方法,不是同一個(gè)類,就比如飛這個(gè)方法,飛機(jī)有飛這個(gè)方法,蚊子有飛這個(gè)方法,如果讓他連同時(shí)繼承擁有飛這個(gè)抽象類里面,是不符合單一職責(zé)原則的,所以我們可以提供一個(gè)飛的接口,飛機(jī),蚊子來(lái)實(shí)現(xiàn)這個(gè)接口,那么飛機(jī)和蚊子就擁有飛的能力啦,這是我對(duì)接口的理解

因?yàn)樽罱趯W(xué)習(xí)java 面向?qū)ο笾械慕涌?,就畫了思維導(dǎo)圖:

這是我對(duì)接口知識(shí)的基本總結(jié)

舉一個(gè)案例希望大家能理解接口!

現(xiàn)在有一個(gè)需求,有一個(gè)門door類,有一個(gè)防盜門AntiTheDoor類,有一個(gè)鐵門IronDoor類,因?yàn)榉辣I門和鐵門都有門的屬性,所以二者
繼承門door類
他們都有一個(gè)功能,就是上鎖與開鎖,還有一個(gè)防盜門獨(dú)有的功能,就是貓眼CatEye功能,貓眼功能是防盜門獨(dú)有的方法,所以應(yīng)當(dāng)把
貓眼看成一個(gè)接口,防盜門可以實(shí)現(xiàn)它,這樣我們用代碼怎么來(lái)詮釋呢(定義與實(shí)現(xiàn))

父類door

public abstract class Door {

	/**
	 * 開門
	 */
	public abstract void open();
	/**
	 * 關(guān)門
	 */
	public abstract void close();
	
}

接口:只寫應(yīng)該具有的功能

public interface CatEye {
	/**
	 * 在使用接口的所有類中,需要實(shí)現(xiàn)接口中所有的方法
	 * 他們有這個(gè)功能,但是具體的實(shí)現(xiàn)放是不一樣的,需要實(shí)現(xiàn)他的類在里面重新定義它新的生命,就比如,普通的防盜門里的貓眼就是簡(jiǎn)單的看
	 * 但是,還有一些貓眼的看有掃描的功能,不同的需求放在不同的類里面來(lái)具體的實(shí)現(xiàn)
	 */
	void look();
}
public interface Lock {

	/**
	 * 上鎖
	 */
	void upLock();
	void downLock();
}

防盜門是門door的子類,繼承父類開門關(guān)門的方法,同時(shí)擁有上鎖,與貓眼的功能

public class AntiTheDoor extends Door implements Lock,CatEye{

	@Override
	public void look() {
		System.out.println("防盜門的貓眼,伸頭瞪眼");
		
	}

	@Override
	public void upLock() {
		// TODO 自動(dòng)生成的方法存根
		System.out.println("防盜門開鎖:左轉(zhuǎn)三圈");
		
	}

	@Override
	public void downLock() {
		// TODO 自動(dòng)生成的方法存根
		System.out.println("防盜門的關(guān)鎖,右轉(zhuǎn)三圈");
		
	}

	@Override
	public void open() {
		// TODO 自動(dòng)生成的方法存根
		System.out.println("防盜門的開門:用頭頂");
		
	}

	@Override
	public void close() {
		// TODO 自動(dòng)生成的方法存根
		System.out.println("防盜門的關(guān)門:用腳蹬");
		
	}
	

}

相比于防盜門,鐵門只有上鎖的功能

public class IronDoor extends Door implements Lock{

	@Override
	public void upLock() {
		System.out.println("鐵門的開鎖,右轉(zhuǎn)三圈");
		
	}

	@Override
	public void downLock() {
		System.out.println("鐵門的上鎖,左轉(zhuǎn)三圈");
		
	}

	@Override
	public void open() {
		System.out.println("鐵門的開門用腳蹬");
		
	}

	@Override
	public void close() {
			System.out.println("鐵門的關(guān)門方式,用頭頂");	
	}
	

}

測(cè)試類:

public class test {

	public static void main(String[] args) {
		AntiTheDoor atd = new AntiTheDoor();
		atd.upLock();
		atd.open();
		atd.close();
		atd.downLock();
	}
}

運(yùn)行結(jié)果:

防盜門開鎖:左轉(zhuǎn)三圈
防盜門的開門:用頭頂
防盜門的關(guān)門:用腳蹬
防盜門的關(guān)鎖,右轉(zhuǎn)三圈

 一個(gè)接口只有方法的特征沒(méi)有方法的實(shí)現(xiàn),因此這些方法可以在不同的地方被不同的類實(shí)現(xiàn),而這些實(shí)現(xiàn)可以有具體不同的能力.

以上所述是小編給大家介紹的java接口基礎(chǔ)知識(shí)詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Java加載property文件配置過(guò)程解析

    Java加載property文件配置過(guò)程解析

    這篇文章主要介紹了java加載property文件配置過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • SpringBoot2.0.3打印默認(rèn)數(shù)據(jù)源為 HikariDataSource (null)問(wèn)題

    SpringBoot2.0.3打印默認(rèn)數(shù)據(jù)源為 HikariDataSource (null)問(wèn)題

    這篇文章主要介紹了SpringBoot2.0.3打印默認(rèn)數(shù)據(jù)源為 HikariDataSource (null)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • sun?unsafe類功能及使用注意事項(xiàng)詳解

    sun?unsafe類功能及使用注意事項(xiàng)詳解

    這篇文章主要為大家介紹了unsafe類的功能及在使用中需要注意的事項(xiàng)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-01-01
  • springboot如何使用MybatisPlus

    springboot如何使用MybatisPlus

    MyBatisPlus是一個(gè)強(qiáng)大的數(shù)據(jù)庫(kù)操作框架,其代碼生成器可以快速生成實(shí)體類、映射文件等,本文介紹了如何導(dǎo)入MyBatisPlus相關(guān)依賴,創(chuàng)建代碼生成器,并配置數(shù)據(jù)庫(kù)信息以逆向生成代碼,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • java并發(fā)包中CountDownLatch和線程池的使用詳解

    java并發(fā)包中CountDownLatch和線程池的使用詳解

    這篇文章主要介紹了java并發(fā)包中CountDownLatch和線程池的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-02-02
  • JDK下載與安裝超詳細(xì)步驟大全

    JDK下載與安裝超詳細(xì)步驟大全

    學(xué)習(xí)JAVA必須得安裝一下JDK(java development kit java開發(fā)工具包),配置一下環(huán)境就可以學(xué)習(xí)JAVA了,下面這篇文章主要給大家介紹了關(guān)于JDK下載與安裝步驟的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • 詳解SpringBoot結(jié)合swagger2快速生成簡(jiǎn)單的接口文檔

    詳解SpringBoot結(jié)合swagger2快速生成簡(jiǎn)單的接口文檔

    這篇文章主要介紹了詳解SpringBoot結(jié)合swagger2快速生成簡(jiǎn)單的接口文檔,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-05-05
  • Java Thread多線程全面解析

    Java Thread多線程全面解析

    這篇文章主要介紹了Java Thread多線程全面解析的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-06-06
  • JAVA錯(cuò)誤類結(jié)果類和分頁(yè)結(jié)果類代碼詳解

    JAVA錯(cuò)誤類結(jié)果類和分頁(yè)結(jié)果類代碼詳解

    這篇文章主要介紹了JAVA錯(cuò)誤類結(jié)果類和分頁(yè)結(jié)果類代碼詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • Spring?AI?+?ollama?本地搭建聊天?AI?功能

    Spring?AI?+?ollama?本地搭建聊天?AI?功能

    這篇文章主要介紹了Spring?AI?+?ollama?本地搭建聊天?AI?,本文通過(guò)實(shí)例圖文相結(jié)合給大家講解的非常詳細(xì),需要的朋友可以參考下
    2024-11-11

最新評(píng)論

宁化县| 仲巴县| 阿拉善左旗| 漳州市| 定南县| 左权县| 海口市| 望谟县| 呼和浩特市| 泾源县| 鸡西市| 新乡市| 韶山市| 筠连县| 都江堰市| 海口市| 博白县| 麻阳| 枞阳县| 石城县| 铁岭市| 深州市| 栾城县| 垣曲县| 潞西市| 广东省| 炎陵县| 洪江市| 松江区| 通州区| 琼海市| 广宗县| 宁强县| 东阿县| 连南| 宣恩县| 乐昌市| 金门县| 攀枝花市| 海伦市| 富顺县|