[问题] 初学interface 环境JDK8 eclipseSE

楼主: BUQ (固执又暴燥)   2020-06-07 15:48:50
目前 初学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(); //宠物买粮食
}
}
}
作者: vavamos (vavamos)   2020-06-07 16:14:00
类都写到Interface_test里面了 需先new外部类 不然就拆开
楼主: BUQ (固执又暴燥)   2020-06-07 17:51:00
把类全搬出来吗 好的 我试试我把class 全搬出来 去掉public 编译就过了 谢谢public void sellFood(PetRestaurant pet){(PetRestaurant pet)《=这里面 我实在无法理解 其中的意思为何可以塞一个接口名称 后面还补了一个没被定义过的 pet有关键字吗 我可以自己啃文章
作者: evo1994 (Evo)   2020-06-08 01:19:00
代表要传进去sellFood这个方法的参数 是这个型别 pet只是你自己帮他命名这其实蛮基本的 建议你先看过一点java的书再来学interface的概念会比较好另外不用怕伸手党 我觉得你问题描述的很清楚 也有把不懂的地方讲出来
作者: swallowcc (guest)   2020-06-08 09:19:00
不要让板众通灵就好,另外小建议是程式码不要打在这里在 AndroidDev 板置底有列出可以打在网站上的,阅读上会比较方便一点
楼主: BUQ (固执又暴燥)   2020-06-08 11:29:00
好喔Y

Links booklink

Contact Us: admin [ a t ] ucptt.com