所以我有一个名为阵容的阵列,充满了投手和击球手和球员(球员是投手和击球手的超级球员)
私人球员[]名单;
名册[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方法中,没有它在投手方法中。
答案 0 :(得分:1)
其实找到了答案!你必须输入强制转换它,你必须服从层次结构,所以在我的情况下它将是:
ERA + =((Pitcher)名册[i])。calculateERA();