Re: [心得] 介面使用的心得。

看板java作者 (痞子軍團團長)時間12年前 (2013/05/09 00:14), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/2 (看更多)
你可以說我在吹毛求疵 不過我對原 po 沒有什麼不敬的意思 ※ 引述《bu6668 (Will)》之銘言: : class AsusPrinter() implemented USB { ^^^^^^^^^^^^^ 這是新語法嗎? @_@ 我在 JDK 1.6 會炸 error? : public void output(String data){ print(data); } : } : class AcerPrinter() implemented USB { : public void output(String data){ print(data); } : } : class ApplePrinter() { : public void output(String data){ print(data); } : } : Interface USB(){ : public void output(String data); : } : class MyComputer(){ : USB usbPort1 =null; : public void setPrinter(USB usb){ : usbPort1 =usb; : } : } : A婆印表機不能用了因為沒有USB~ : 下次要接收一個物件來呼叫時 : 想清楚要用"介面"還是"類別"去接收物件吧!! : public void setObject(介面 obj) : public void setObject(類別 obj) 從 callee 的角度來看 其實這跟 interface 沒啥關係,因為如果 class FooPrinter extends Printer { public void output(String data) { print(data); } } class Printer { public void output(String data) { print(data); } } 也完全符合你的敘述(但也不是說你錯) 也就是說,單純看 callee 其實參數到底是用 interface / (abstract) class 宣告都可以 當然,如果要討論蓋 OO 大樓的時候 什麼狀況下要用 extend、什麼時候要作 abstract class 什麼時候該 implement interface 我只能說,我都是硬幹出來的 如果有人願意接下去討論 我早晚會給祖先多上三炷香感謝他們 -- 錢鍾書: 說出來的話 http://www.psmonkey.org 比不上不說出來的話 Java 版 cookcomic 版 只影射著說不出來的話 and more...... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.25.18.202

05/09 06:20, , 1F
程式碼已修正!沒有先編譯過程式碼再貼上是我的錯!!
05/09 06:20, 1F
文章代碼(AID): #1HYddnKw (java)
文章代碼(AID): #1HYddnKw (java)