Java 参数[frmStartupGame]的修饰符非法;只允许决赛
我是爪哇的新手,我想为爪哇的学校做一个任命。 这是一个遵循MVC模式的小游戏(我不知道它是如何工作的,我所理解的是这个方法在“包”中分离代码,所以我们只需要修改一些包中的元素,例如,使游戏看起来完全不同;是吗?) 因此,我们使用JFrame和JPanel包创建了一个启动框架。 现在是时候在控制器包中的类名“Control”中创建main()方法了:Java 参数[frmStartupGame]的修饰符非法;只允许决赛,java,eclipse,Java,Eclipse,我是爪哇的新手,我想为爪哇的学校做一个任命。 这是一个遵循MVC模式的小游戏(我不知道它是如何工作的,我所理解的是这个方法在“包”中分离代码,所以我们只需要修改一些包中的元素,例如,使游戏看起来完全不同;是吗?) 因此,我们使用JFrame和JPanel包创建了一个启动框架。 现在是时候在控制器包中的类名“Control”中创建main()方法了: /** * */ package controller; public class Control { /** * @p
/**
*
*/
package controller;
public class Control {
/**
* @param args
*/
public static void main(String[] args) {
new Control();
}
}
现在,我的老师要求我:“私下声明StartupGame类型的属性frmStartupGame(我们之前创建的第一个fram的名称),并添加包含StartupGame文件的包“视图”
我真的不明白发生了什么,老师问我什么
我想他希望我在这两个文件之间创建一个链接(通过在控件类中导入“视图”包?),因此要启动的第一个元素将位于控制器的main中。
为了做到这一点,我们需要在控制文件中声明一个StartupGame实例,对吗
所以我试着这么做
/**
*
*/
package controller;
import view.StartupGame;
public class Control {
/**
* @param args
*/
public static void main(String[] args) {
new Control();
private StartupGame frmStartupGame;
}
}
但现在我有了一个“参数[frmStartupGame]的非法修饰符”;仅允许最终版本”错误;我找不到在控制类中声明StartupGame实例的正确语法…其在函数内部的意思仅允许最终版本: 因此,以下代码无效:
private StartupGame frmStartupGame;
改为:
StartupGame frmStartupGame;
更新:“现在我的老师让我:“私下声明StartupGame类型的frmStartupGame属性”
在类级别上创建此变量,如下所示:
public class Control {
private StartupGame frmStartupGame;
public static void main(String[] args) {
new Control();
}
}
有关更多详细信息,请参见放置在方法内部的变量(
main
,在我们的情况下)不能有任何访问修饰符(private
,public
等等)。您可能打算在类内部但在任何方法外部声明它。您可能想了解一下。它归结为关注点的分离。代码的一部分应该只涉及核心逻辑(而不关心如何生成输出或如何收集输入),这就是模型。代码的另一部分应该只关注在屏幕上显示内容,这就是视图。第三部分应该收集用户输入并充当其他部分之间的中间人,即控制器。据我所知,OP被要求将其声明为私有字段,因此应该将其移到方法之外。