java - 参数 [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 的实例......
解决方案
它的意思是在函数内部只允许final:
所以下面的代码无效:
private StartupGame frmStartupGame;
将其更改为:
StartupGame frmStartupGame;
更新: “现在我的老师要求我:“私下声明 StartupGame 类型的属性 frmStartupGame”
在类级别创建此变量,如下所示:
public class Control {
private StartupGame frmStartupGame;
public static void main(String[] args) {
new Control();
}
}
有关详细信息,请参阅声明成员变量
推荐阅读
- spring - 创建没有注释和没有 Spring Boot 的 KafkaListener
- java - 如何使用 jolt 替换某些属性的文本
- tensorflow - 如何摆脱 Keras 指标名称的 _N?
- r - 在 r 中使用 keras 中的 layer_dense 进行神经网络配置
- html - 如何在不使用 CSS 移动文本的情况下相对于文本定位图像?
- c++ - for(;;) vs do..while() 用于主程序循环
- angular - Angular 7:使用查询参数刷新页面导致路径不匹配
- java - 为什么我的循环输出两个不同的结果?
- jquery - 如何使用 jquery 删除输入数据?
- javascript - 如何用变量替换 HTML 元素的所有实例(或更简单的方法)