首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >区分超类和子类之间的变量

区分超类和子类之间的变量
EN

Stack Overflow用户
提问于 2015-12-13 14:49:18
回答 1查看 75关注 0票数 1

我正在开发一个程序,允许用户在四支球队之间选择一支主场和客场的足球队。我创建了一个通用的超类团队,它定义了为安全/场目标/触地得分分配的点数。生成一个随机数,然后根据该数字,程序通过一个条件if/ the语句来确定动作和点。

这是在SuperClass中:

代码语言:javascript
复制
public void possessionPoints()
{
    if(points<lowNopoints){
        score = noPoints;
        totalScore = totalScore + score;
        System.out.println("No points, plus " + score);
    }
    else if(points<lowSafetypoint){
        score = safetyPoint;
        totalScore = totalScore + score;
        System.out.println("Safety, plus" + score);
    }
    else if(points<lowFieldgoal){
        score = fieldGoal;
        totalScore = totalScore + fieldGoal; 
        System.out.println("Field goal, plus" + score);
    }
    else{
        score = touchDown;
        totalScore = totalScore + touchDown;
        System.out.println("Touchdown, plus" + score);
    }

    ArrayList<Integer> totalScore;
    totalScore = new ArrayList<>();
    totalScore.add(score);

    //the sum score
    int sum = totalScore.stream().mapToInt(Integer::intValue).sum();
    System.out.println("Current score is: " + sum);
}

注意:上面的totalScore被降级为public static int totalScore = 0;

在整个过程中,我想跟踪totalScore。我在我的超类中有这个设置,但是,当程序运行时,它将整个游戏的得分加在一起,而不区分团队。

输出: 主队行动。无积分,加0当前分数:0 离开团队行动。中场进球,plus3当前得分:3 主队行动。中场进球,plus3当前得分:6分 离开团队行动。中场进球,plus3当前得分:9分 主队行动。安全,plus2当前评分: 11

另外,如果有帮助的话,这就是我在下面其他团队的每个子类中设置的全部内容。我不对totalScore做任何事情。

代码语言:javascript
复制
public class PackersSub extends GenericSuper{
public PackersSub()
{
    lowNopoints = 4;
    lowSafetypoint = 5;
    lowFieldgoal = 7; 
}

关于如何解决这个问题,有什么想法吗?我想跟踪每个团队的totalScore。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2015-12-13 15:15:52

如果您希望在每个团队级别保持跟踪,那么您应该将其定义为成员变量,以便每个团队都拥有自己的totalScore字段副本。

在超类中提交一个static意味着它将始终是子类中发生的所有操作的全部聚合。因为每个类只维护一个static字段的副本。在您的例子中,您已经在超类中定义了它,这使得它成为一个用于积分聚合的全局字段。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34252346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档