看板 java 關於我們 聯絡資訊
目前 初學interface 參考網站為 https://reurl.cc/MvGnWK 我按照教學打 但編譯不過 有錯誤 羅輯上 我是看不出來有什麼問題 沒有什麼頭緒 可能是因為才正在學 其中最下面店員的類 其中的方法 我的IDE叫我要宣告無回傳void 這是必要的嗎 有人可以引導一下嗎 小弟無意當個伸手黨 給個關鍵字也好 我可以自己拜google 先感謝 各路大神..<(_ _)> public class Interface_test { public static void main(String[] args) { // TODO Auto-generated method stub Clerk C = new Clerk(); //實例店員 PetDog dog = new PetDog(); //實例狗 PetCat cat = new PetCat(); //實例貓 C.sellFood(dog); //我是狗,我要買狗糧,汪汪!! C.sellFood(cat); //我是貓,我要買貓糧,喵喵!! } public interface PetRestaurant{ public void buyFood(); } //寵物狗想要買狗糧 public class PetDog implements PetRestaurant{ @Override //實現接口方法 public void buyFood(){ System.out.println("我是狗,我要買狗糧,汪汪!!"); } } //寵物貓想要買貓糧 public class PetCat implements PetRestaurant{ @Override public void buyFood(){ System.out.println("我是貓,我要買貓糧,喵喵!!"); } } public class Clerk{ //店員 public sellFood(PetRestaurant pet){ //店員賣食物給實踐過的寵物 pet.buyFood(); //寵物買糧食 } } } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.34.177.25 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/java/M.1591516134.A.CA5.html
vavamos: 類都寫到Interface_test裡面了 需先new外部類 不然就拆開 06/07 16:14
BUQ: 把類全搬出來嗎 好的 我試試 06/07 17:51
BUQ: 我把class 全搬出來 去掉public 編譯就過了 謝謝 06/07 17:53
BUQ: public void sellFood(PetRestaurant pet){ 06/07 18:58
BUQ: (PetRestaurant pet)《=這裡面 我實在無法理解 其中的意思 06/07 19:00
BUQ: 為何可以塞一個介面名稱 後面還補了一個沒被定義過的 pet 06/07 19:05
BUQ: 有關鍵字嗎 我可以自己啃文章 06/07 19:06
evo1994: 代表要傳進去sellFood這個方法的參數 是這個型別 pet只是 06/08 01:19
evo1994: 你自己幫他命名 06/08 01:19
evo1994: 這其實蠻基本的 建議你先看過一點java的書再來學interfac 06/08 01:21
evo1994: e的概念會比較好 06/08 01:21
evo1994: 另外不用怕伸手黨 我覺得你問題描述的很清楚 也有把不懂 06/08 01:22
evo1994: 的地方講出來 06/08 01:22
swallowcc: 不要讓板眾通靈就好,另外小建議是程式碼不要打在這裡 06/08 09:19
swallowcc: 在 AndroidDev 板置底有列出可以打在網站上的,閱讀上 06/08 09:21
swallowcc: 會比較方便一點 06/08 09:21
BUQ: 好喔Y 06/08 11:29