作者BUQ (固執又暴燥)
看板java
標題[問題] 初學interface 環境JDK8 eclipseSE
時間Sun Jun 7 15:48:50 2020
目前 初學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://webptt.com/m.aspx?n=bbs/java/M.1591516134.A.CA5.html
1F:推 vavamos: 類都寫到Interface_test裡面了 需先new外部類 不然就拆開 06/07 16:14
2F:→ BUQ: 把類全搬出來嗎 好的 我試試 06/07 17:51
3F:→ BUQ: 我把class 全搬出來 去掉public 編譯就過了 謝謝 06/07 17:53
4F:→ BUQ: public void sellFood(PetRestaurant pet){ 06/07 18:58
5F:→ BUQ: (PetRestaurant pet)《=這裡面 我實在無法理解 其中的意思 06/07 19:00
6F:→ BUQ: 為何可以塞一個介面名稱 後面還補了一個沒被定義過的 pet 06/07 19:05
7F:→ BUQ: 有關鍵字嗎 我可以自己啃文章 06/07 19:06
8F:推 evo1994: 代表要傳進去sellFood這個方法的參數 是這個型別 pet只是 06/08 01:19
9F:→ evo1994: 你自己幫他命名 06/08 01:19
10F:推 evo1994: 這其實蠻基本的 建議你先看過一點java的書再來學interfac 06/08 01:21
11F:→ evo1994: e的概念會比較好 06/08 01:21
12F:→ evo1994: 另外不用怕伸手黨 我覺得你問題描述的很清楚 也有把不懂 06/08 01:22
13F:→ evo1994: 的地方講出來 06/08 01:22
14F:推 swallowcc: 不要讓板眾通靈就好,另外小建議是程式碼不要打在這裡 06/08 09:19
15F:→ swallowcc: 在 AndroidDev 板置底有列出可以打在網站上的,閱讀上 06/08 09:21
16F:→ swallowcc: 會比較方便一點 06/08 09:21
17F:→ BUQ: 好喔Y 06/08 11:29