From 940b17c076e08716b2ac7928c5287fb96042370a Mon Sep 17 00:00:00 2001 From: baihuijuan <3078948726@qq.com> Date: Wed, 22 Apr 2026 17:24:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=8A=A8=E7=89=A9=E5=8F=AB?= =?UTF-8?q?=E5=A3=B0=E7=B3=BB=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- w6/Animal.java | 32 ++++++++++++++++++++++++++++++++ w6/AnimalTest.java | 21 +++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 w6/Animal.java create mode 100644 w6/AnimalTest.java diff --git a/w6/Animal.java b/w6/Animal.java new file mode 100644 index 0000000..5482c89 --- /dev/null +++ b/w6/Animal.java @@ -0,0 +1,32 @@ +// 抽象类 Animal +abstract class Animal { + public abstract void makeSound(); +} + +// 接口 Swimmable +interface Swimmable { + void swim(); +} + +// Dog 类继承 Animal 并实现 Swimmable +class Dog extends Animal implements Swimmable { + @Override + public void makeSound() { + System.out.println("狗叫:汪汪汪!"); + } + + @Override + public void swim() { + System.out.println("狗会游泳,正在狗刨..."); + } +} + +// Cat 类继承 Animal,不实现 Swimmable +class Cat extends Animal { + @Override + public void makeSound() { + System.out.println("猫叫:喵喵喵~"); + } +} + + diff --git a/w6/AnimalTest.java b/w6/AnimalTest.java new file mode 100644 index 0000000..8619fc4 --- /dev/null +++ b/w6/AnimalTest.java @@ -0,0 +1,21 @@ +// 测试类 +public class AnimalTest { + public static void main(String[] args) { + // 多态调用 + Animal dog = new Dog(); + Animal cat = new Cat(); + + dog.makeSound(); + cat.makeSound(); + + // 判断 Dog 是否实现了 Swimmable 接口并调用 + if (dog instanceof Swimmable) { + ((Swimmable) dog).swim(); + } + + // Cat 不能游泳 + if (!(cat instanceof Swimmable)) { + System.out.println("猫不会游泳"); + } + } +}