类实例无法解析

时间:2015-11-12 01:18:11

标签: java scope

我有以下代码

if (player.femaleBool)
    {
        player.trueName = player.maleNames[nameNum[0]];
        femGame gamePlay = new femGame();
    }//end if
    else
    {
        player.trueName = player.femNames[nameNum[0]];
        maleGame gamePlay = new maleGame();
    }//end else
gamePlay.tutorial();

我遇到了一个无法解决gamePlay的错误。这是因为它嵌套在if stetments中吗?如果是这样,我有什么方法可以解决它?它的范围应该是这个类的主要功能。

1 个答案:

答案 0 :(得分:0)

这超出了范围:

gamePlay.tutorial();

游戏玩法仅存在于if条件中。但是你可以使用多态:

//your classes must implement a interface:
public interface IGame
{
    void tutorial();
}
public class femGame: IGame
{
    public void tutorial()
    {
        //implementation...
    }
}
public class maleGame: IGame
{
    public void tutorial()
    {
        //implementation...
    }
}

//...

//using plymorphism:

IGame gamePlay;
if (player.femaleBool)
    {
        player.trueName = player.maleNames[nameNum[0]];
        gamePlay = new femGame();
    }//end if
    else
    {
        player.trueName = player.femNames[nameNum[0]];
        gamePlay = new maleGame();
    }//end else
gamePlay.tutorial();

您可以使用[abstract]类来代替接口。