Browse Source

上传文件至 'w6'

main
JianXinyi 1 week ago
parent
commit
85acf29b1b
  1. 6
      w6/Animal.java
  2. 9
      w6/Cat.java
  3. 16
      w6/Dog.java
  4. 17
      w6/Main.java
  5. 5
      w6/Swimmable.java

6
w6/Animal.java

@ -0,0 +1,6 @@
package w6;
public abstract class Animal {
// 抽象方法:声明动物“叫”的行为,不写具体实现
public abstract void makeSound();
}

9
w6/Cat.java

@ -0,0 +1,9 @@
package w6;
public class Cat extends Animal {
// 重写Animal的抽象方法makeSound()
@Override
public void makeSound() {
System.out.println("喵喵");
}
}

16
w6/Dog.java

@ -0,0 +1,16 @@
package w6;
public class Dog extends Animal
implements Swimmable {
// 重写Animal的抽象方法makeSound()
@Override
public void makeSound() {
System.out.println("汪汪");
}
// 步骤3实现Swimmable接口后,需重写swim()方法
@Override
public void swim() {
System.out.println("狗会游泳~");
}
}

17
w6/Main.java

@ -0,0 +1,17 @@
package w6;
public class Main {
public static void main(String[] args) {
// 测试1:Animal 引用指向 Dog(多态调用makeSound())
Animal animalDog = new Dog();
animalDog.makeSound(); // 输出:汪汪(实际执行Dog的makeSound())
// 测试2:Swimmable 引用指向 Dog(多态调用swim())
Swimmable swimmingDog = new Dog();
swimmingDog.swim(); // 输出:狗会游泳~(实际执行Dog的swim())
// 测试3:Animal 引用指向 Cat(多态调用makeSound())
Animal animalCat = new Cat();
animalCat.makeSound(); // 输出:喵喵(实际执行Cat的makeSound())
}
}

5
w6/Swimmable.java

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