gpt4 book ai didi

java - java中重写的概念

转载 作者:行者123 更新时间:2023-12-02 07:14:05 25 4
gpt4 key购买 nike

父类(super class)中的方法适用于java中的所有子类......如果子类有自己独立的方法,我怎样才能使其工作......

class  Polymorphism3 {

public static void main(String[] args) {
// note how these are all considered objects of type Animal by Java
Animal[] a = new Animal[4];
a[0] = new Mouse();
a[1] = new Bird();
a[2] = new Horse();
a[3] = new Animal();
for (int i=0;i<4;i++) {
a[i].pullTail();
}

//...


class Animal {
public void pullTail() {
System.out.println("I don't know what to say.");
}
}

class Mouse extends Animal {
public void pullTail() {
System.out.println("fart");
}
}

class Bird extends Animal {
public void pullTail() {
System.out.println("tweet");
}

public void fly() {
System.out.println("flap");
}
}

class Horse extends Animal {
public void pullTail() {
System.out.println("neigh");
}
}

最佳答案

如果未在 Animal 中声明,则无法使其工作。
唯一的方法是将 Animal 转换为 Bird,例如

((Bird)a[1]).fly();

您还可以从 Bird 的 putTail 实现中调用它。

关于java - java中重写的概念,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15169063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com