diff --git a/W6/Animal.java b/W6/Animal.java new file mode 100644 index 0000000..2411c0e --- /dev/null +++ b/W6/Animal.java @@ -0,0 +1,5 @@ +package W6; + +public abstract class Animal { + public abstract void makeSound(); +} diff --git a/W6/AnimalTest.java b/W6/AnimalTest.java new file mode 100644 index 0000000..0d5525e --- /dev/null +++ b/W6/AnimalTest.java @@ -0,0 +1,13 @@ +package W6; + +public class AnimalTest { + public static void main(String args[]){ + Animal dog=new Dog; + Animal cat=new Cat; + dog.makeSound(); + cat.makeSound(); + if (dog instanceof Swimmable){ + ((Swimmable)dog).swim(); + } + } +} diff --git a/W6/Cat.java b/W6/Cat.java new file mode 100644 index 0000000..ccbd850 --- /dev/null +++ b/W6/Cat.java @@ -0,0 +1,8 @@ +package W6; + +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..1776c48 --- /dev/null +++ b/W6/Dog.java @@ -0,0 +1,12 @@ +package W6; + +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/Swimmable.java b/W6/Swimmable.java new file mode 100644 index 0000000..7864098 --- /dev/null +++ b/W6/Swimmable.java @@ -0,0 +1,5 @@ +package W6; + +public interface Swimmable { + void swim(); +}