java - 为什么我的分数变量在我的 GameScreen 类之外不可评估?

标签 java swing class netbeans protected

不同类别

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); }   
       }
    }  

最佳答案

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

在游戏屏幕中只需执行以下操作:

public int getScore() {
    return score;
}

并在GameSum中调用该函数。

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

关于java - 为什么我的分数变量在我的 GameScreen 类之外不可评估?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18734366/

相关文章:

java - 在 Swing 框架中动态添加和删除按钮

c++ - 具有多态性的派生类中的重载函数 (C++)

c++ - typedef, enum, bool, Bool ------混淆

java - Protocol buffer 无法解析具有多个大尺寸消息的单个 codeInputStream

java - 连接到 Websphere rmi 服务器

java - 在哪里可以定义 java 编译器选项,以便计算机上运行的任何 java 进程都可以看到它们?

Java Integer类中的getChars方法,为什么它使用按位运算而不是算术运算?

java - 可编辑的 JComboBox

java - 图像未显示在图像按钮中

Python 类给出 "None in the ouptut"