gpt4 book ai didi

java - 在 Java 中将对象设置为未知类类型

转载 作者:行者123 更新时间:2023-11-30 06:26:00 24 4
gpt4 key购买 nike

抱歉,我是一个刚开始使用 Java 的初学者,我遇到了这个问题

我有两个类,说他们是

class Dog {

}

class Cat {

}

然后我创建了一个数组,其中填充了这两个中的一个

Object[][] myAnimal = new Object[4][5];

我想设置一个等于数组中随机对象的变量,但我不知道它来自哪个类。有什么办法吗?

最佳答案

理想的解决方案是创建您自己的父类(super class),例如声明了抽象方法的Animal。例如,您可以这样做:

abstract class Animal {
public abstract void speak();
}

然后 CatDog 各自为抽象方法提供了自己的实现:

class Cat {
public void speak() {
System.out.println("Meow!");
}
}

class Dog {
public void speak() {
System.out.println("Woof!");
}
}

现在您可以简单地将您的数组声明为

Animal[][] myAnimal = new Animal[4][5];

在数组中放置一些动物:

myAnimal[0][0] = new Dog();
myAnimal[0][1] = new Cat();

然后让动物们说话:

myAnimal[0][0].speak();
myAnimal[0][1].speak();

我在这里省略了 main() 的语法,但我希望您可以自己将其组合在一起。这里使用的概念称为“多态性”。我强烈建议您研究它以帮助您在设计代码时使用这个重要的 OO 概念。

关于java - 在 Java 中将对象设置为未知类类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14928614/

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