gpt4 book ai didi

java - java 中的 Object.callGenericMethod()

转载 作者:行者123 更新时间:2023-11-30 04:34:45 26 4
gpt4 key购买 nike

假设我有这 3 个类(class)

class Human
public void eat()

class Lawyer extends Human
public void beEvil()

class Murderer extends Human
public void beEvil()
public void kill()

现在我有一个 Action 处理程序,我想在不知道我是什么的情况下处理 Action 。例如:

handleBeEvil(Human human)
{
..
human.beEvil(); //wont obviously work
..
}

例如,在 as3 中,我会使用

handleBeEvil(Object human)
{
human.beEvil(); //would pass compiler, work or break runtime
}

在 Java 中实现此目的的最佳方法是什么?我想避免将所有的 declarations 放在 Human 类中。

最佳答案

创建一个接口(interface)并让 LawyerMurderer 实现它(即 class Lawyer extends Human Implements Evil):

interface Evil {
void beEvil();
}

那么你的方法就是

... handleBeEvil(Evil human)
{
..
human.beEvil(); // now this will work
..
}

关于java - java 中的 Object.callGenericMethod(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13772473/

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