帮我写一个Java程序,类名为Pets,内容是:人类喜欢养宠物猫咪和狗狗,很稀罕给它们取可爱的名字;宠物有不同的品种、颜色、年龄;宠物们很喜欢吃饭和睡觉。要求使用封装、继承、抽象类等知识点,实现编程
时间: 2023-07-10 11:13:42 浏览: 93
好的,下面是您所需要的Java程序:
```java
// 宠物类
abstract class Pet {
private String name; // 名字
private String breed; // 品种
private String color; // 颜色
private int age; // 年龄
public Pet(String name, String breed, String color, int age) {
this.name = name;
this.breed = breed;
this.color = color;
this.age = age;
}
public String getName() {
return name;
}
public String getBreed() {
return breed;
}
public String getColor() {
return color;
}
public int getAge() {
return age;
}
public abstract void eat(); // 吃饭
public abstract void sleep(); // 睡觉
}
// 猫咪类
class Cat extends Pet {
public Cat(String name, String breed, String color, int age) {
super(name, breed, color, age);
}
@Override
public void eat() {
System.out.println(getName() + "喜欢吃鱼");
}
@Override
public void sleep() {
System.out.println(getName() + "喜欢睡觉");
}
}
// 狗狗类
class Dog extends Pet {
public Dog(String name, String breed, String color, int age) {
super(name, breed, color, age);
}
@Override
public void eat() {
System.out.println(getName() + "喜欢吃肉");
}
@Override
public void sleep() {
System.out.println(getName() + "喜欢睡觉");
}
}
// 宠物主人类
class PetOwner {
public static void main(String[] args) {
Cat cat = new Cat("小白", "波斯猫", "白色", 3);
Dog dog = new Dog("旺财", "哈士奇", "黑色", 2);
System.out.println(cat.getName() + "是一只" + cat.getColor() + "色的" +
cat.getBreed() + ",今年" + cat.getAge() + "岁");
cat.eat();
cat.sleep();
System.out.println(dog.getName() + "是一只" + dog.getColor() + "色的" +
dog.getBreed() + ",今年" + dog.getAge() + "岁");
dog.eat();
dog.sleep();
}
}
```
在这个程序中,我们定义了一个抽象类 Pet,里面包含了宠物的基本信息,以及吃饭和睡觉两个抽象方法。然后我们又定义了猫咪类和狗狗类,继承了 Pet 类,并实现了它的两个抽象方法,分别是吃饭和睡觉。最后我们定义了一个宠物主人类 PetOwner,用于测试我们的程序。
在 PetOwner 类中,我们创建了一个猫咪对象和一个狗狗对象,并输出它们的基本信息,以及它们吃饭和睡觉的行为。
阅读全文