将课程演绎为自制课程

时间:2017-02-04 18:52:32

标签: java class casting

我只是在玩Java并尝试实现一个小型Dungeon游戏。

马云当前的问题是我有一个班级"怪物"和一个班级" Trap"。此外,我有一个班级"遭遇"其中随机选择怪物或陷阱并返回以与英雄的统计数据进行比较。

我真的没有想法如何将这个怪物或陷阱变成一次遭遇,所以我可以使用它。

这是我目前遇到的方法:

public Encounter generate(){
  Encounter encounter = new encounter();
  Trap trap1 = new Trap(random, trap1);
  Monster monster1 = new Monster(random, random);

  if (random > 5){
    encounter = (Encounter) Monster; (?) //this is where I need help
 .....

嗯,我希望我已经足够解释了这个问题..在此先感谢您的帮助!

(我看了别处,但没有找到一个洗脱,可能看起来不够硬或者根本就不知道一个关键,请原谅)

1 个答案:

答案 0 :(得分:1)

所以你有一个类Encounter可以是一个陷阱或一个怪物,最好的事情是陷阱和怪物继承遭遇(或实现接口遇到),所以他们有一些共享方法,那么你可以只是强制转换它们,但是如果它们没有实现公共接口或共享一个共同的超类,则无法强制转换它们。