Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中的Object.callGenericMethod()_Java_Actionscript 3 - Fatal编程技术网

java中的Object.callGenericMethod()

java中的Object.callGenericMethod(),java,actionscript-3,Java,Actionscript 3,假设我有这三门课 class Human public void eat() class Lawyer extends Human public void beEvil() class Murderer extends Human public void beEvil() public void kill() 现在我有了一个动作处理程序,我想在不知道自己是什么的情况下处理动作。例如: handleBeEvil(Human human) { .. human.

假设我有这三门课

class Human
  public void eat()

class Lawyer extends Human
  public void beEvil()

class Murderer extends Human
  public void beEvil()
  public void kill()
现在我有了一个动作处理程序,我想在不知道自己是什么的情况下处理动作。例如:

handleBeEvil(Human human)
{
    ..
    human.beEvil(); //wont obviously work
    ..
}
例如,在as3中,我会使用

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

在Java中实现这一点的最佳方法是什么?我希望避免将所有的偏差都放在人类类中。

创建一个接口,并让
律师和
杀人犯实现它(即
类律师扩展人类实施邪恶
):

那么你的方法就是

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

因为我正在迁移代码,所以我希望能更快一些,但我想我会用正确的方法来完成,谢谢。
... handleBeEvil(Evil human)
{
    ..
    human.beEvil();  // now this will work
    ..
}