java程序的编写和运行图

实验内容:
1.编写程序:使用多态实现主人与宠物玩耍功能(主人调用playwithPet方法)
2.狗具有特有的接飞盘方法,企鹅具有特有的南极游泳方法。请编写测试类分别调用各种具体宠物的特有方法
3.使用向下转型
4.使用instanceof判断宠物类型

  1. 宠物类:

    public abstract class Pet {
     private String name;
     private int age;
     private String gender;
    
     public Pet(String name, int age, String gender) {
         this.name = name;
         this.age = age;
         this.gender = gender;
     }
    
     public String getName() {
         return name;
     }
    
     public int getAge() {
         return age;
     }
    
     public String getGender() {
         return gender;
     }
    
     public abstract void play();
    }
    
  2. 狗类:

    public class Dog extends Pet {
     public Dog(String name, int age, String gender) {
         super(name, age, gender);
     }
    
     @Override
     public void play() {
         System.out.println("和主人一起玩球");
     }
    
     public void catchFlyDisk() {
         System.out.println("接飞盘");
     }
    }
    
  3. 企鹅类:

    public class Penguin extends Pet {
     public Penguin(String name, int age, String gender) {
         super(name, age, gender);
     }
    
     @Override
     public void play() {
         System.out.println("和主人一起玩雪球");
     }
    
     public void swimInAntarctica() {
         System.out.println("在南极游泳");
     }
    }
    
  4. 主人类:

    public class Master {
     public void playWithPet(Pet pet) {
         pet.play();
     }
    }
    
  5. 测试类:

    public class Test {
     public static void main(String[] args) {
         Master master = new Master();
         Dog dog = new Dog("旺财", 3, "公");
         Penguin penguin = new Penguin("QQ", 2, "母");
    
         master.playWithPet(dog);
         master.playWithPet(penguin);
    
         if (dog instanceof Dog) {
             dog.catchFlyDisk();
         }
    
         if (penguin instanceof Penguin) {
             penguin.swimInAntarctica();
         }
     }
    }
    
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632