0

不同的班级

package battleship;


public class GameSum extends javax.swing.JFrame {


    public GameSum() {
        initComponents();
        J_time.setText(score);
    }



package battleship;

public class GameScreen extends javax.swing.JFrame {


    protected int score;

    public GameScreen() {
        initComponents();

    }   
private void B_checkActionPerformed(java.awt.event.ActionEvent evt) {                                        

       if (score < getHS(0) && score < hs[1])  {setHS(0, score, nickname);  }
       for (int loop = 0; loop<5; loop++)
       {
       if(score > hs[loop] && score < hs[loop+1]) {setHS(loop+1, score, nickname); }   
       }
    }  
4

3 回答 3

2

因为您的变量不是公共的,或者没有可用的公共 getter。

在 Gamescreen 中只需执行以下操作:

public int getScore() {
    return score;
}

并在 GameSum 中调用此函数。

顺便说一句,我不想​​听起来粗鲁,但如果这是你真正的缩进/代码约定,它真的是不可修改的。尝试正确缩进,如果使用大括号,则将 if 的内容放在新行上,如果是单行块,则将内容放在不带大括号的同一行上。只是我的两分钱。

于 2013-09-11T06:49:23.670 回答
0

你应该倾向于access modifiersJava 的总统职位。您必须创建一种访问变量的方法(创建publicseter 和publicgetter)或 make variable public

按照此链接参考访问修饰符

于 2013-09-11T06:50:36.050 回答
0

您的分数变量是protected,这意味着它只能通过 ( Gamescreen)it 子类和同一包上的类访问,请通过此https://stackoverflow.com/a/215505/2291134

于 2013-09-11T06:51:31.653 回答