From 0cdd1ddd3105ddabd81fae7d2bd74341e90349c6 Mon Sep 17 00:00:00 2001 From: Bilei <3354484301@qq.com> Date: Mon, 20 Apr 2026 13:20:06 +0800 Subject: [PATCH] w6 --- w6/AnimalSystem.java | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 w6/AnimalSystem.java diff --git a/w6/AnimalSystem.java b/w6/AnimalSystem.java new file mode 100644 index 0000000..dbc005c --- /dev/null +++ b/w6/AnimalSystem.java @@ -0,0 +1,41 @@ +abstract class Animal { + public abstract void makeSound(); +} +interface Swimmable { + void swim(); +} +class Dog extends Animal implements Swimmable { + @Override + public void makeSound() { + System.out.println("小狗汪汪叫"); + } + @Override + public void swim() { + System.out.println("小狗会游泳"); + } +} +class Cat extends Animal { + @Override + public void makeSound() { + System.out.println("小猫喵喵叫"); + } +} +public class AnimalSystem { + public static void main(String[] args) { + Animal animal1 = new Dog(); + Animal animal2 = new Cat(); + animal1.makeSound(); + animal2.makeSound(); + System.out.println("-------------------"); + if (animal1 instanceof Swimmable) { + Swimmable swimmer = (Swimmable) animal1; + swimmer.swim(); + } + if (animal2 instanceof Swimmable) { + Swimmable swimmer = (Swimmable) animal2; + swimmer.swim(); + } else { + System.out.println("小猫不会游泳"); + } + } +} \ No newline at end of file