作者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/cn.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