Browse Source

更新

main
Thea Wang 4 days ago
commit
6214943cbc
  1. BIN
      Animal.class
  2. 3
      Animal.java
  3. BIN
      Cat.class
  4. 6
      Cat.java
  5. BIN
      Dog.class
  6. 11
      Dog.java
  7. BIN
      Main.class
  8. 25
      Main.java
  9. BIN
      Swimmable.class
  10. 3
      Swimmable.java

BIN
Animal.class

Binary file not shown.

3
Animal.java

@ -0,0 +1,3 @@
public abstract class Animal {
public abstract void makeSound();
}

BIN
Cat.class

Binary file not shown.

6
Cat.java

@ -0,0 +1,6 @@
public class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("Meow!");
}
}

BIN
Dog.class

Binary file not shown.

11
Dog.java

@ -0,0 +1,11 @@
public class Dog extends Animal implements Swimmable {
@Override
public void makeSound() {
System.out.println("Woof!");
}
@Override
public void swim() {
System.out.println("Dog is swimming.");
}
}

BIN
Main.class

Binary file not shown.

25
Main.java

@ -0,0 +1,25 @@
public class Main {
public static void main(String[] args) {
// 测试多态
Animal animal1 = new Dog();
Animal animal2 = new Cat();
System.out.println("Testing polymorphism:");
animal1.makeSound(); // 应该输出 Woof!
animal2.makeSound(); // 应该输出 Meow!
// 测试 Dog 的 swim 方法
System.out.println("\nTesting Dog's swim method:");
if (animal1 instanceof Swimmable) {
((Swimmable) animal1).swim();
}
// 测试 Cat 是否实现了 Swimmable
System.out.println("\nTesting if Cat is Swimmable:");
if (animal2 instanceof Swimmable) {
((Swimmable) animal2).swim();
} else {
System.out.println("Cat is not Swimmable.");
}
}
}

BIN
Swimmable.class

Binary file not shown.

3
Swimmable.java

@ -0,0 +1,3 @@
public interface Swimmable {
void swim();
}
Loading…
Cancel
Save