首页 > 解决方案 > 参数 [frmStartupGame] 的非法修饰符;只允许final

问题描述

我是 Java 新手,我正在尝试用 Java 预约学校。这是一个遵循 MVC 模型的小游戏(我不知道它是如何工作的,我所理解的只是这个方法在“包”中单独的代码,所以我们只需要修改某个包中的一些元素,例如,制作游戏看起来完全不同;对吗?)。

所以我们使用 JFrame 和 JPanel 包创建了一个启动框架。现在是时候在控制器包中的类名“Control”中创建 main() 方法了:

/**
 * 
 */
package controller;

public class Control {

    /**
     * @param args
     */
    public static void main(String[] args) {
        new Control();  
    }
}

现在我的老师要求我:“私下声明 StartupGame 类型的属性 frmStartupGame(我们之前创建的第一个帧的名称)并添加包含我们的 StartupGame 文件的包“view”。

我真的不明白发生了什么事,我的老师问我什么......

我想他希望我在两个文件之间创建一个链接(通过在控件类中导入“视图”包?),所以第一个开始的元素将在控制器的主文件中。为此,我们需要在控制文件中声明一个 StartupGame 实例,对吧?

所以我试着这样做

/**
 * 
 */
package controller;

import view.StartupGame;

public class Control {

    /**
     * @param args
     */
    public static void main(String[] args) {
        new Control();
        private StartupGame frmStartupGame;
    }
}

但现在我有一个“参数 [frmStartupGame] 的非法修饰符;只允许 final”错误;我找不到正确的语法来在控制类中声明 StartupGame 的实例......

标签: javaeclipse

解决方案


它的意思是在函数内部只允许final:

所以下面的代码无效:

 private StartupGame frmStartupGame;

将其更改为:

 StartupGame frmStartupGame;

更新: “现在我的老师要求我:“私下声明 StartupGame 类型的属性 frmStartupGame”

在类级别创建此变量,如下所示:

public class Control {
    private StartupGame frmStartupGame;

    public static void main(String[] args) {
        new Control();  
    }
}

有关详细信息,请参阅声明成员变量


推荐阅读