java狼推羊源代码 狼吃羊代码( 二 )


}
```
Goat.java:
```java
public class Goat extends Animal {
@Override
public void eat() {
System.out.println("吃草");
}
}
```
Wolf.java:
```java
public class Wolf extends Animal {
@Override
public void eat() {
System.out.println("吃肉");
}
}
```
AnimalTest.java:
```java
public class AnimalTest {
public static void main(String[] args) {
Goat goat = new Goat();
wolf wolf = new wolf();
goat.eat(); // 输出:吃草
wolf.eat(); // 输出:吃肉
goat.walk(); // 输出:走路
wolf.walk(); // 输出:走路
}
}
```
在此程序中,我们定义了一个 `Animal` 类作为基类 , 包含了所有动物都会有的行为(例如走路),并使用抽象方法 `eat()` 表示不同动物的饮食习惯 。然后通过继承实现 `Goat` 和 `Wolf` 两个子类 , 并分别重写 `eat()` 方法 。
在测试类中,我们分别创建了一个 `Goat` 和一个 `Wolf` 对象,并分别调用其 `eat()` 和 `walk()` 方法进行验证 。可以看到,不同的动物具备不同的饮食习惯,但它们的走路行为是一致的 。
如何用Java编写三个线程实现狼羊白菜过河问题开三个线程,一个代表狼 , 一个代表羊 , 一个代表白菜 。
一艘船 。两个位置 。
河有两边,
狼跟羊互斥,羊跟白菜互斥 。
即他们不能在船不在此岸边的时候同时存在 。
狼 , 羊,白菜的线程去抢船的位置 。(船在此岸)(2个位置,去抢吧,抢到了就占个座 。。。。)
再开一个线程 。。。。OYE~
船判断能不能离岸 , 不能离就泄空 。能就到对岸就把这两个位置上的泄到对岸,船也到对岸 。
然后狼 , 羊 , 白菜的线程继续去抢船的位置 。
船线程继续判能不能离岸 。(船上的位置剩余0或1或2时只要2岸不出现互斥,都可以离岸)
能就走,不能就泄空 。。。。
如此往复
直到有一天 。。。3个都到对岸了 。。OK了 。。。
谁会要求写出这样没有逻辑的纯靠运气的程序啊 。。。
现在的学校真操蛋 。。。。
【java狼推羊源代码 狼吃羊代码】java狼推羊源代码的介绍就聊到这里吧 , 感谢你花时间阅读本站内容 , 更多关于狼吃羊代码、java狼推羊源代码的信息别忘了在本站进行查找喔 。

推荐阅读