试图访问子类方法

时间:2014-09-12 03:25:19

标签: java netbeans instanceof

所以我有一个名为阵容的阵列,充满了投手和击球手和球员(球员是投手和击球手的超级球员)

  

私人球员[]名单;

     

名册[i] =新投手();

我如何访问投手中的方法?例如:

public double calculateTeamERA()
{
    double ERA = 0;
    for(int i = 0; i < 25; i++)
    {
        if(roster[i] instanceof Pitcher)
        {
            ERA+= roster[i].calculateERA();
        }      
    }
    return ERA;
}

所以我有一个计算方法,而方法calculateERA()是正确的语法,我只是想知道是否有办法告诉它访问Pitcher对象,因为它给我一个语法错误没有calculateERA ()在PLAYER方法中,没有它在投手方法中。

1 个答案:

答案 0 :(得分:1)

其实找到了答案!你必须输入强制转换它,你必须服从层次结构,所以在我的情况下它将是:

  

ERA + =((Pitcher)名册[i])。calculateERA();