From 85afa3efb54eadfccb691460f80cdca3c8b7ca1a Mon Sep 17 00:00:00 2001 From: 86150 <86150@hunnu.edu.cn> Date: Mon, 11 May 2026 17:03:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0W6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- W6/AnimalTest.java | 26 ++++++++++++++++++++++++++ W6/Cat.java | 6 ++++++ W6/Dog.java | 11 +++++++++++ W6/Swimmable.java | 3 +++ 4 files changed, 46 insertions(+) create mode 100644 W6/AnimalTest.java create mode 100644 W6/Cat.java create mode 100644 W6/Dog.java create mode 100644 W6/Swimmable.java diff --git a/W6/AnimalTest.java b/W6/AnimalTest.java new file mode 100644 index 0000000..5dc40c6 --- /dev/null +++ b/W6/AnimalTest.java @@ -0,0 +1,26 @@ +public class AnimalTest { + public static void main(String[] args) { + // 创建动物数组,演示多态 + Animal[] animals = new Animal[2]; + animals[0] = new Dog(); + animals[1] = new Cat(); + + // 测试多态调用makeSound方法 + System.out.println("测试动物叫声:"); + for (Animal animal : animals) { + animal.makeSound(); + } + + // 测试Dog的swim方法 + System.out.println("\n测试游泳能力:"); + if (animals[0] instanceof Swimmable) { + ((Swimmable) animals[0]).swim(); + } + + if (animals[1] instanceof Swimmable) { + ((Swimmable) animals[1]).swim(); + } else { + System.out.println("猫不会游泳!"); + } + } +} \ No newline at end of file diff --git a/W6/Cat.java b/W6/Cat.java new file mode 100644 index 0000000..12ee151 --- /dev/null +++ b/W6/Cat.java @@ -0,0 +1,6 @@ +public class Cat extends Animal { + @Override + public void makeSound() { + System.out.println("喵喵喵!"); + } +} \ No newline at end of file diff --git a/W6/Dog.java b/W6/Dog.java new file mode 100644 index 0000000..5a536c5 --- /dev/null +++ b/W6/Dog.java @@ -0,0 +1,11 @@ +public class Dog extends Animal implements Swimmable { + @Override + public void makeSound() { + System.out.println("汪汪汪!"); + } + + @Override + public void swim() { + System.out.println("狗在游泳!"); + } +} \ No newline at end of file diff --git a/W6/Swimmable.java b/W6/Swimmable.java new file mode 100644 index 0000000..b7a501e --- /dev/null +++ b/W6/Swimmable.java @@ -0,0 +1,3 @@ +public interface Swimmable { + void swim(); +} \ No newline at end of file