java抽象类动物,20条猫,10条狗,并为猫狗取随机的名字,输出eat sleep.
时间: 2024-11-24 15:43:37 浏览: 9
在Java中,我们可以创建一个抽象类`Animal`作为所有动物的基类,然后创建具体的子类`Cat`和`Dog`来表示猫和狗。抽象类通常包含一些通用的行为,而具体的子类则提供它们特有的属性和行为。
首先,我们定义`Animal`抽象类:
```java
public abstract class Animal {
private String name;
public Animal(String name) {
this.name = name;
}
public abstract void eat();
public abstract void sleep();
public String getName() {
return name;
}
}
```
接着,我们创建`Cat`和`Dog`子类:
```java
public class Cat extends Animal {
public Cat(String name) {
super(name);
}
@Override
public void eat() {
System.out.println(getName() + "正在吃鱼.");
}
@Override
public void sleep() {
System.out.println(getName() + "正在打盹.");
}
}
public class Dog extends Animal {
public Dog(String name) {
super(name);
}
@Override
public void eat() {
System.out.println(getName() + "正在啃骨头.");
}
@Override
public void sleep() {
System.out.println(getName() + "正在呼呼大睡.");
}
}
```
现在我们可以生成20只猫和10只狗,并给它们随机的名字:
```java
import java.util.Random;
public class Main {
public static void main(String[] args) {
Random random = new Random();
String[] catNames = {"花花", "喵喵", "小黄", ...}; // 需要填充更多的名字
String[] dogNames = {"旺财", "二哈", "小白", ...}; // 同理
for (int i = 0; i < 20; i++) {
Animal cat = new Cat(catNames[random.nextInt(catNames.length)]);
cat.eat();
cat.sleep();
}
for (int i = 0; i < 10; i++) {
Animal dog = new Dog(dogNames[random.nextInt(dogNames.length)]);
dog.eat();
dog.sleep();
}
}
}
```
运行这个程序会输出每只动物吃饭和睡觉的信息。注意实际运行中你需要提供足够的名字数组。
阅读全文