diff --git a/w6/Animal.java b/w6/Animal.java new file mode 100644 index 0000000..68bf39c --- /dev/null +++ b/w6/Animal.java @@ -0,0 +1,3 @@ +public abstract class Animal { + public abstract void makeSound (); +} diff --git a/w6/Cat.java b/w6/Cat.java new file mode 100644 index 0000000..b819b24 --- /dev/null +++ b/w6/Cat.java @@ -0,0 +1,6 @@ +public class Cat extends Animal{ + @Override + public void makeSound() { + System.out.println("猫:喵喵喵"); + } +} diff --git a/w6/Dog.java b/w6/Dog.java new file mode 100644 index 0000000..90455cf --- /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("狗会游泳"); + } +} diff --git a/w6/Main.java b/w6/Main.java new file mode 100644 index 0000000..176ce14 --- /dev/null +++ b/w6/Main.java @@ -0,0 +1,20 @@ +public class Main { + public static void main(String[] args){ + Animal dog = new Dog(); + Animal cat = new Cat(); + + System.out.println("动物叫声"); + dog.makeSound(); + cat.makeSound(); + + System.out.println("是否会游泳"); + if (dog instanceof Swimmable){ + ((Swimmable) dog).swim(); + } + if (cat instanceof Swimmable){ + ((Swimmable) cat).swim(); + } else { + System.out.println("猫不会游泳"); + } + } +} diff --git a/w6/Swimmable.java b/w6/Swimmable.java new file mode 100644 index 0000000..d3b896f --- /dev/null +++ b/w6/Swimmable.java @@ -0,0 +1,3 @@ +public interface Swimmable { + void swim(); +}