宠物领养系统适合Java新手练手,1. 设计Pet基类及Dog、Cat子类,体现封装与继承;2. 通过Shelter类管理宠物集合,实现增删查功能;3. 主程序测试多态与集合操作,掌握面向对象核心思想。

想用Java练手,又不知道做什么项目?宠物领养信息平台是个不错的选择。它结构清晰、贴近生活,适合新手掌握面向对象的核心思想——封装、继承、多态和类的设计。下面带你一步步用Java实现一个简单的宠物领养系统。
1. 明确需求与设计核心类
我们要做的平台能展示可领养的宠物信息,支持添加新宠物、查看所有宠物、按类型筛选等基本功能。先从现实世界抽象出关键对象:
- Pet(宠物基类):包含共性属性如名字、年龄、品种、健康状况。
- Dog 和 Cat(子类):继承Pet,可扩展特有属性,比如狗的体型、猫的性格。
- Shelter(收容所类):管理所有待领养宠物,提供增删查方法。
2. 实现Pet基类与子类
先写父类Pet,把通用字段和方法封装起来:
public class Pet {
private String name;
private int age;
private String breed;
private String healthStatus;
public Pet(String name, int age, String breed, String healthStatus) {
this.name = name;
this.age = age;
this.breed = breed;
this.healthStatus = healthStatus;
}
public void showInfo() {
System.out.println("名字:" + name + ",年龄:" + age + "岁,品种:" + breed + ",健康:" + healthStatus);
}
// getter方法(setter可根据需要添加)
public String getName() { return name; }
public int getAge() { return age; }
public String getBreed() { return breed; }
public String getHealthStatus() { return healthStatus; }
}
再定义Dog类:
立即学习“Java免费学习笔记(深入)”;
public class Dog extends Pet {
private String size; // 小型、中型、大型
public Dog(String name, int age, String breed, String healthStatus, String size) {
super(name, age, breed, healthStatus);
this.size = size;
}
@Override
public void showInfo() {
System.out.print("【狗狗】");
super.showInfo();
System.out.println("体型:" + size);
}
}
Cat类类似:
public class Cat extends Pet {
private String temperament; // 温顺、活泼、高冷等
public Cat(String name, int age, String breed, String healthStatus, String temperament) {
super(name, age, breed, healthStatus);
this.temperament = temperament;
}
@Override
public void showInfo() {
System.out.print("【猫咪】");
super.showInfo();
System.out.println("性格:" + temperament);
}
}
3. 创建Shelter管理宠物
Shelter类用ArrayList存储所有宠物,通过方法对外提供服务:
import java.util.ArrayList;
public class Shelter {
private ArrayList pets;
public Shelter() {
pets = new ArrayList<>();
}
public void addPet(Pet pet) {
pets.add(pet);
System.out.println(pet.getName() + " 已添加到收容所!");
}
public void listAllPets() {
System.out.println("\n=== 所有待领养宠物 ===");
if (pets.isEmpty()) {
System.out.println("暂无宠物可领养。");
return;
}
for (Pet pet : pets) {
pet.showInfo();
System.out.println("-------------");
}
}
public void findDogs() {
System.out.println("\n=== 可领养的狗狗 ===");
for (Pet pet : pets) {
if (pet instanceof Dog) {
pet.showInfo();
}
}
}
}
4. 编写主程序测试功能
在Main类中创建对象并调用方法:
public class Main {
public static void main(String[] args) {
Shelter shelter = new Shelter();
Dog dog1 = new Dog("旺财", 2, "金毛", "健康", "大型");
Cat cat1 = new Cat("咪咪", 1, "英短", "良好", "温顺");
shelter.addPet(dog1);
shelter.addPet(cat1);
shelter.listAllPets();
shelter.findDogs();
}
}
运行结果会显示两只宠物的信息,并能单独列出狗狗列表,说明多态和集合使用成功。
基本上就这些。这个项目虽小,但涵盖了类设计、继承、方法重写、集合操作等核心知识点。你可以继续扩展:加入领养人信息、搜索功能、文件保存数据等。动手改一改,理解会更深。









