文章編號:11217時間:2024-09-30人氣:
// 定義一個Shape接口
interface Shape {void draw();
}// 創(chuàng)建一個Rectangle類實現(xiàn)Shape接口
class Rectangle implements Shape {public void draw() {
System.out.println("繪制一個矩形");}
}// 創(chuàng)建一個Circle類實現(xiàn)Shape接口
class Circle implements Shape {public void draw() {System.out.println("繪制一個圓形");}
}
// 定義一個Animal父類
class Animal {private String name;public Animal(String name) {this.name = name;}public String getName() {return name;}
}// 創(chuàng)建一個Dog子類繼承Animal父類
class Dog extends Animal {public Dog(String name) {super(name);}public void bark() {System.out.println("汪汪!");}
}
接口和繼承是面向?qū)ο缶幊?/a>中的兩個基本概念。它們有著不同的目的和實現(xiàn)方式,在不同的情況下使用。接口用于定義標(biāo)準(zhǔn)和合約,而繼承用于創(chuàng)建父類和子類之間的關(guān)系。理解它們之間的區(qū)別對于創(chuàng)建可維護(hù)且可擴(kuò)展的代碼非常重要。
包指的是,你可以使用包里面提供的類,你只有import了一個包才能在你自己的類里面使用包中的類。 繼承完全不是你說的引用java內(nèi)部的定義的類,你要明白java的面向?qū)ο蟮乃枷耄裁词蔷酆希裁词抢^承,這里就簡單點說下繼承吧,以人類為例子:人類是一個類,女人是人類的一個子類人類里面有一個方法,吃飯(),女人繼承自人類,所以女人繼承了人類的這些特質(zhì),所以女人也可以吃飯(),但女人有自己的特點,她會生孩子,所以女人有了自己的方法 生孩子()。 這個簡單的例子就說明了什么是繼承。 我強烈建議你去看thinking in java,好好把面向?qū)ο蟮乃枷肱宄灰偪匆恍﹪鴥?nèi)的破教程,沒有掌握java編程思想,很容易陷入誤區(qū),有很多人覺得初學(xué)者不要看thinking in java,這是非常錯誤的!基礎(chǔ)不打好,后面會走很多彎路,你如果在繼承,接口等面向?qū)ο蟮母拍钌虾苣:脑挘瑥娏医ㄗh你去把這本書找來看看,里面說的非常清楚,學(xué)java沒看過這本書等于你沒學(xué)java
從本質(zhì)上觀察接口實現(xiàn)和類繼承,這里“繼承”一詞不包含繼承接口。 繼承,本質(zhì)是父類有的,子類也有。 或者說,繼承,主要目的是為了代碼重用。 接口,又稱協(xié)議,約定。 接口本身并不定義任何成員,它只約定一系列方法的方法名和形參、返回類型(他們的組合叫方法簽名),意思就是提供一系列抽象的功能服務(wù)。 一個類實現(xiàn)了一個接口,意味著這個類承諾他要遵守這個接口所定義的約定,提供這個接口所要求的全部功能。 而調(diào)用方只需知道這個對象遵守了哪個接口的約定,能提供什么樣的方法/功能,而不必知道關(guān)心這個對象屬于哪個類型的。 這個叫多態(tài)。 從名稱上看,接口實現(xiàn)和類繼承好像都叫“繼承”,但一個是多態(tài),一個是代碼重用,幾乎是一個問題的兩個極端。 而抽象類則是介乎兩者的折衷,一方面他限制了子類的類型(因為C#只能單繼承),重用了自己的代碼,另一方面,它多少又定義了一些抽象的方法簽名,保證它的子類能提供某種功能。
理論上:類只能單繼承,接口可以多繼承(接口應(yīng)該叫實現(xiàn));實踐上:我們說類的繼承一般繼承的是事物的屬性,如:姓名,年齡,性別 等,而接口的繼承(或者說實現(xiàn))一般是繼承事物的行為,如:行走,飛翔,游泳(這比較抽象,在一般項目中大部分是指對某事物的增刪改查等操作)總之,單繼承描述了“is a”的關(guān)系,即“子is a父”;多繼承描述了“can do”的關(guān)系,即“子can do父”。 這是我的筆記珍藏,希望對你有啟發(fā)。
繼承Extends:繼承是子類從父類繼承特征和行為,子類具有父類的實例域和方法,或從父類繼承方法,使得子類具有父類相同的行為。 繼承關(guān)系表示“is-a”關(guān)系,如食草動物類繼承自動物類。 實現(xiàn)implement:在Java中,類實現(xiàn)接口時使用implement關(guān)鍵字。 類只能實現(xiàn)接口,而接口可以繼承其他接口。 抽象類:抽象類使用abstract關(guān)鍵字修飾,包含零個或多個抽象方法。 抽象類可能沒有抽象方法,但有抽象方法的類必須是抽象類。 抽象類不能實例化對象,但除了不能實例化外,其他功能仍然存在。 子類必須實現(xiàn)抽象類中的抽象方法,或保持抽象類為抽象類。 接口:接口是一個抽象類型,包含抽象方法的集合,沒有構(gòu)造方法、靜態(tài)代碼塊和靜態(tài)方法。 接口默認(rèn)包含public和abstract修飾符,方法默認(rèn)是public和abstract。 接口可以繼承其他接口,但類只能實現(xiàn)一個抽象類。 接口與抽象類的區(qū)別:接口比抽象類更簡潔、專注,僅包含抽象方法和靜態(tài)變量,無構(gòu)造方法、靜態(tài)代碼塊和靜態(tài)方法等,實現(xiàn)都在實現(xiàn)類中完成。 抽象類更臃腫,既有抽象方法也有普通方法。 接口允許多繼承,一個類可以實現(xiàn)多個接口,一個接口也可以繼承多個接口。 接口更靈活,適用于擴(kuò)展功能,而繼承可能導(dǎo)致功能冗余。 抽象類與接口的關(guān)聯(lián):抽象類可以實現(xiàn)接口,但可以不實現(xiàn)接口方法,而接口不能繼承抽象類。 二者都不能實例化對象。
首先的話,在 Java 中應(yīng)該說“擴(kuò)展”(extend)而不是“繼承”(inherit),盡管知道它實現(xiàn)上就是C++那種繼承,但邏輯上是不完全相同的。 再考慮到接口即協(xié)議,對接口的擴(kuò)展,或是說對協(xié)議的擴(kuò)展,實際上就包括了對其公用方法的擴(kuò)展以及對其定義的擴(kuò)展兩個方面,其中擴(kuò)展接口定義實際上即為對協(xié)議添加更多的約束,在減少了其可能包含的類的種類的同時也給了這些類更清晰的定義,也就允許用戶基于這更清晰的定義做出更多的操作了。 所以呢,實際類的擴(kuò)展實際上和繼承是相同的,子類確實繼承了父類的實現(xiàn),但接口的擴(kuò)展則只會獲取到父接口的方法聲明,繼承的意味并不明顯,更多的實際上在于對其原協(xié)議的擴(kuò)展,因此應(yīng)將子接口和父接口間的關(guān)系視為擴(kuò)展而不單單是繼承其實就是多去思考為什么在Java這叫擴(kuò)展不叫繼承,很多問題就迎刃而解了
內(nèi)容聲明:
1、本站收錄的內(nèi)容來源于大數(shù)據(jù)收集,版權(quán)歸原網(wǎng)站所有!
2、本站收錄的內(nèi)容若侵害到您的利益,請聯(lián)系我們進(jìn)行刪除處理!
3、本站不接受違法信息,如您發(fā)現(xiàn)違法內(nèi)容,請聯(lián)系我們進(jìn)行舉報處理!
4、本文地址:http://m.hudongshop.com/article/e04f37726204468b60a7.html,復(fù)制請保留版權(quán)鏈接!
OverlayIcon64.dll是Windows系統(tǒng)中一個重要的DLL文件,負(fù)責(zé)顯示文件的重疊圖標(biāo),如果該文件丟失或損壞,您可能會在計算機(jī)上遇到各種問題,本文將介紹OverlayIcon64.dll丟失或損壞的常見問題,并提供詳細(xì)的解決方法,OverlayIcon64.dll丟失或損壞的常見問題文件或文件夾的圖標(biāo)無法正常顯示某些應(yīng)用...。
最新資訊 2024-09-29 14:44:00
終端窗口是一個命令行界面,可用于與您的計算機(jī)進(jìn)行交互,它可以用于各種任務(wù),例如運行命令、查看文件和文件夾,以及安裝軟件,要在VisualStudioCode中打開終端窗口,請執(zhí)行以下步驟,單擊窗口左下角的終端圖標(biāo),或者,您可以使用以下鍵盤快捷鍵,Windows,Ctrl,`macOS,Cmd,`終端窗口將打開在VisualStudio...。
本站公告 2024-09-28 15:23:03
Eclipse3.4是一款功能強大的集成開發(fā)環(huán)境,IDE,,廣泛用于Java開發(fā),它提供了豐富的功能和優(yōu)勢,可以提升開發(fā)者的效率和生產(chǎn)力,以下是Eclipse3.4中一些最顯著的功能,增強的代碼編輯器Eclipse3.4的代碼編輯器以其強大的語法高亮、代碼自動補全和重構(gòu)工具而著稱,它還支持代碼折疊、塊選擇和語法驗證,讓開發(fā)者可以更高效...。
最新資訊 2024-09-24 14:22:08
按鈕,是,當(dāng)您使用`history.back,`方法返回頁面時,瀏覽器前進(jìn)按鈕將變?yōu)榭捎茫驗樗F(xiàn)在可以向前導(dǎo)航到當(dāng)前頁面,我可以使用`history.back,`方法在不同的域之間導(dǎo)航嗎,否,`history.back,`方法只能在當(dāng)前域的歷史記錄中導(dǎo)航,如果您需要在不同的域之間導(dǎo)航,您需要使用`window.location...。
本站公告 2024-09-13 18:31:02
100210020200修改后的訂單表滿足2NF,因為每一列都與主鍵,訂單編號、客戶編號,有直接關(guān)系,第三范式,3NF,定義,表中的每一列都必須直接依賴于主鍵,不能傳遞依賴于其他列,要求,表滿足第二范式,表中不存在傳遞依賴,即每一列都必須直接依賴于主鍵,而不能通過中間列間接依賴,例子,學(xué)生表,不滿足3NF,學(xué)號姓名班級考試成績班主任姓...。
最新資訊 2024-09-13 10:28:30
引言VB,VisualBasic,是一種面向?qū)ο蟮木幊陶Z言,廣泛用于創(chuàng)建桌面應(yīng)用程序、網(wǎng)站和移動應(yīng)用程序,盡管VB相對容易學(xué)習(xí)和使用,但在編程過程中仍有一些常見的陷阱和挑戰(zhàn),為了幫助VB開發(fā)人員避免這些錯誤,本文將深入探討一些常見的陷阱和提供避免它們的實用技巧,常見的陷阱1.變量聲明不當(dāng)陷阱,未聲明或錯誤聲明變量會導(dǎo)致編譯錯誤或運行時...。
互聯(lián)網(wǎng)資訊 2024-09-12 12:10:47
Python中的sort,函數(shù)是一個強大的工具,它允許您按升序或降序?qū)α斜磉M(jìn)行排序,默認(rèn)情況下,sort,函數(shù)使用內(nèi)建的順序規(guī)則對元素進(jìn)行排序,但是,您還可以提供一個自定義的比較函數(shù)來指定自己的排序規(guī)則,語法sort,函數(shù)的語法如下,```list.sort,key=None,reverse=False,```list,待排序的...。
技術(shù)教程 2024-09-09 00:14:47
body,font,family,Arial,Helvetica,sans,serif,font,size,16px,line,height,1.6em,h1,font,size,24px,margin,bottom,10px,h2,font,size,20px,margin,bottom,5px,ul,list,style,t...。
本站公告 2024-09-08 10:08:52
replace,方法用于在字符串中查找并替換匹配的子字符串,它接受兩個參數(shù),要查找的子字符串和替換它的字符串,conststr=HelloWorld,constnewStr=str.replace,World,Universe,console.log,newStr,Output,HelloUniversereplace,方...。
互聯(lián)網(wǎng)資訊 2024-09-06 22:24:22
對于任何有抱負(fù)的程序員來說,Java都是一門必備語言,憑借其廣泛的應(yīng)用領(lǐng)域和堅如磐石的語法,Java為各種項目提供了堅實的基礎(chǔ),如果你已經(jīng)掌握了Java的基礎(chǔ)知識,并且渴望提升你的技能,那么我們這里有一些免費的視頻教程,可以幫助你超越初學(xué)者水平,免費Java視頻教程1.Java教程,Java編程基礎(chǔ),EdurekaEdureka的這個...。
互聯(lián)網(wǎng)資訊 2024-09-06 13:07:11
近年來,河南安陽市關(guān)于鬧鬼的傳聞甚囂塵上,引起了廣泛關(guān)注,有人聲稱親眼目睹了靈異事件,也有人對此嗤之以鼻,認(rèn)為只是謠言和迷信,那么,河南安陽鬧鬼傳聞到底是真是假呢,歷史淵源安陽是中國八大古都之一,有著悠久的歷史文化,相傳,在殷商時期,安陽曾是甲骨文的起源地,埋藏著許多帝王將相的陵墓,這些因素為安陽增添了一層神秘色彩,也為后世留下了一些...。
互聯(lián)網(wǎng)資訊 2024-09-05 01:11:24
在北京這座繁華的都市中,流傳著許多關(guān)于午夜公交車的靈異事件,這些故事令人毛骨悚然,讓許多人都不敢在深夜乘坐公交車,這些傳聞究竟是真是假,還是僅僅是人們的以訛傳訛?zāi)兀缫构卉噦髡f午夜公交車傳說最早源于20世紀(jì)80年代,當(dāng)時,北京市發(fā)生了一系列離奇的公交車事故,這些事故大多發(fā)生在深夜,而且都離奇古怪,其中最著名的一個事件發(fā)生在1983年...。
互聯(lián)網(wǎng)資訊 2024-09-03 01:06:40