gpt4 book ai didi

java - 如何在 Java 中定义一个接口(interface)方法来接受一个类或其任何子类?

转载 作者:行者123 更新时间:2023-12-01 07:37:00 25 4
gpt4 key购买 nike

假设我有一个名为 Animal 的类和一个名为 AnimalTrainer 的接口(interface)。

public interface AnimalTrainer
{
void trainAnimal(Animal animal);
}

现在,当我想编写一个仅训练 Lion 的实现时,问题就出现了,例如,Lion 扩展了 Animal。

public class LionTrainer implements AnimalTrainer
{
public void trainAnimal(Lion lion)
{
// code
}
}

但这行不通。如何在 AnimalTrainer 中定义 trainAnimal 方法,以便可以实现上述 LionTrainer 实现?或者我是否必须更改 LionTrainer 的实现?

最佳答案

您需要输入 AnimalTrainer

public interface AnimalTrainer<T extends Animal>
{
public void trainAnimal(T animal);
}

public class LionTrainer implements AnimalTrainer<Lion>
{
public void trainAnimal(Lion lion);
}

关于java - 如何在 Java 中定义一个接口(interface)方法来接受一个类或其任何子类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10586505/

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