91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

詳解java接口基礎知識附思維導圖

發布時間:2020-10-26 08:09:04 來源:腳本之家 閱讀:221 作者:王小錘偏偏錘你 欄目:編程語言

接口:

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

疑問:

那為什么不用抽象類呢?把他們共有的方法集合起來放在一個抽象類里面,同樣可以調用哇,但是反過來想一想如果這些方法,不是同一個類,就比如飛這個方法,飛機有飛這個方法,蚊子有飛這個方法,如果讓他連同時繼承擁有飛這個抽象類里面,是不符合單一職責原則的,所以我們可以提供一個飛的接口,飛機,蚊子來實現這個接口,那么飛機和蚊子就擁有飛的能力啦,這是我對接口的理解

因為最近在學習java 面向對象中的接口,就畫了思維導圖:

詳解java接口基礎知識附思維導圖

這是我對接口知識的基本總結

舉一個案例希望大家能理解接口!

現在有一個需求,有一個門door類,有一個防盜門AntiTheDoor類,有一個鐵門IronDoor類,因為防盜門和鐵門都有門的屬性,所以二者
繼承門door類
他們都有一個功能,就是上鎖與開鎖,還有一個防盜門獨有的功能,就是貓眼CatEye功能,貓眼功能是防盜門獨有的方法,所以應當把
貓眼看成一個接口,防盜門可以實現它,這樣我們用代碼怎么來詮釋呢(定義與實現)

父類door

public abstract class Door {

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

接口:只寫應該具有的功能

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

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

防盜門是門door的子類,繼承父類開門關門的方法,同時擁有上鎖,與貓眼的功能

public class AntiTheDoor extends Door implements Lock,CatEye{

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

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

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

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

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

}

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

public class IronDoor extends Door implements Lock{

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

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

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

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

}

測試類:

public class test {

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

運行結果:

防盜門開鎖:左轉三圈
防盜門的開門:用頭頂
防盜門的關門:用腳蹬
防盜門的關鎖,右轉三圈

 一個接口只有方法的特征沒有方法的實現,因此這些方法可以在不同的地方被不同的類實現,而這些實現可以有具體不同的能力.

以上所述是小編給大家介紹的java接口基礎知識詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巴林左旗| 多伦县| 宜城市| 基隆市| 民乐县| 舟曲县| 介休市| 南郑县| 上饶县| 志丹县| 宜黄县| 什邡市| 海城市| 洛宁县| 信宜市| 蒲江县| 长武县| 六枝特区| 房产| 九龙城区| 北安市| 虎林市| 双鸭山市| 中阳县| 翁牛特旗| 卢湾区| 类乌齐县| 潮州市| 永年县| 科技| 秭归县| 永寿县| 遂昌县| 富平县| 桓台县| 板桥市| 北海市| 麦盖提县| 江陵县| 昭觉县| 通化市|