Java传递类作为变量类型?

时间:2016-06-04 11:44:02

标签: java

我有一个包Values和类SortedListlevels ...每个都有一些方法,如level_defaultlevel_hard,{{1} } ...

我想以某种方式将选定的级别类存储在名为Load();

的变量中

那么我可以使用例如MoveEvent();从该特定存储级别调用load方法。


到目前为止,我一直在使用switch循环从所选级别调用所需的方法。
(... TouchEvent(); ...)

但是怎么能这样做呢,所以我可以选择关卡,并使用它的方法而不需要一直检查我用什么级别来调用该级别的方法?

1 个答案:

答案 0 :(得分:1)

这听起来像是利用多态性的绝佳机会。我建议创建一个名为AbstractLevel,ILevel等的基类或接口。然后,您可以创建许多子类或实现您需要的类,每个类提供它们自己对基本描述的API的特殊定义。当你去调用这个方法时,你不必“思考”使用正确的方法......你将使用正确的方法,因为它是在多态类上调用的。 Google快速搜索将我带到this article,您可能需要查看。

要真正回答你的问题,here is an article that talks about runtime type detection in Java