如果只是單個的類繼承單個的接口的話 那肯定沒啥意義
但是多個類同時繼承一個接口的話那就不一樣了
這也是"接口"這個為什么叫名字的原因
本來不相關的兩個類繼承了同一接口的話 這兩個類就能產生關聯(lián).通過這個關聯(lián)你能實現(xiàn)好多特別的效果 建議你去看看設計模式 里邊有好多模式都是根據(jù)這條設計的
接口還有一個好處是: Java語言不支持一個類有多個直接的父類(多繼承),但可以實現(xiàn)(implements)多個接口,間接的實現(xiàn)了多繼承.
接口也可以實現(xiàn)封裝,調用者只要調用接口,而無需關注它怎么實現(xiàn)等問題
重寫一般用于繼承體現(xiàn)多態(tài)應為我們經常會設計一個抽象類來而且確定其基本方法,如person類有work(){sysout.println("做自己的工作")}方法,那么他的copy子類teacher 類,默認就有了這個方法但是他的work()方法內容應該具體些所以重百寫work(){sysout.println("沒事干,教書去")}當然這樣設計不太好反正就是這個意思嘛。
方法重載就像在teacher類里面有個eat(String str){sysout.println("我要吃"+str)}還有個eat(){sysout.println("我要吃飯")}。反正這個意思, 至于語法相同點不管重寫還是重度載方法名都是相同的,區(qū)別忘了呵呵。
題主完全無視什么是面向對象,什么是多態(tài),建議題主還是好好回歸課本。
可能題主有點兒 C 語言的底子,一頭栽在面向過程的坑里還沒出來。
而且題主有一個最重要的誤區(qū),認為重寫比另定義方法是“偷懶”,其實后者才是明顯的偷懶??搭}主應該是學生,沒接觸過什么真正的項目,要知道在真正的項目里各個類內部的邏輯與類之間的關系的設計是十分復雜的,能找出若干個類之間的聯(lián)系并抽出接口和抽象類的工作量明顯要比隨心所欲的讓各個類之間“各自為戰(zhàn)”困難的多,怎么在題主眼里變成是“偷懶”了?
那么問題來了,既然多態(tài)這么費事兒,干嘛要用多態(tài)?因為多態(tài)雖然說在前期設計上很費事兒(這就是為什么架構設計師比碼農工資高的緣故)最重要的好處就是后期維!護!擴!展!方!便!要知道實際開發(fā)中沒有一個項目編碼完成后就不需要維護了的。
聲明:本網站尊重并保護知識產權,根據(jù)《信息網絡傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個月內通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學習鳥. 頁面生成時間:3.115秒