From 7a19988ffc2a68330463dcec22a967de4cc491ab Mon Sep 17 00:00:00 2001 From: JiaoYan <3182449404@qq.com> Date: Mon, 13 Apr 2026 23:44:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E8=87=B3?= =?UTF-8?q?=20'W6'?= 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