当前位置: 首页 > 知识库问答 >
问题:

参数[frmStartupGame]的非法修饰符;只允许决赛

习胤运
2023-03-14

我是爪哇的新手,我想在爪哇做一个学校的任命。这是一个遵循MVC模式的小游戏(我不知道它应该如何工作,我所了解的只是这个方法在“包”中分离代码,所以我们只需要修改一些包中的元素,例如,使游戏看起来完全不同;对吗?)。

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

/**
 * 
 */
package controller;

public class Control {

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

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

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

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

所以我试着这么做

/**
 * 
 */
package controller;

import view.StartupGame;

public class Control {

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

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

共有1个答案

吴鸿彩
2023-03-14

仅允许其在功能内部表示最终:

所以下面的代码无效:

 private StartupGame frmStartupGame;

将其更改为:

 StartupGame frmStartupGame;

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

在类级别上创建这个变量,如下所示:

public class Control {
    private StartupGame frmStartupGame;

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

有关更多详细信息,请参见声明成员变量

 类似资料:
  • 以下代码有什么问题 字符串引用名称显示编译错误-Java错误-参数名称的修饰符非法-仅允许使用final 我同意下面给出的建议,但我想了解为什么这是不允许的,尽管两者都是静态的?

  • 我写的代码有一个错误消息。一切都应该是好的,因为这些例子都有相同的代码,但是不知何故我得到了一个错误。错误消息说: 期望令牌上 ")",; 语法错误-参数onOptionsItem选择的非法修饰符;只允许最终-期望令牌 "(",; 语法错误

  • 我目前正在从我找到的教程在Eclipse中构建一个应用程序,但我在代码中有错误。 我在下面包含了主要活动文件(MainActivity.java): 错误是这样写的 存在“变量levelNames的非法修饰符;只允许使用final” 有人有什么想法吗?

  • 所以我对Java还是新手,所以这可能真的很愚蠢,但我找不到答案,所以我们开始吧!在我的代码的开头,我试图简单地用“public class robot{}”来声明这个类,然而,它给了我一个错误“本地类的非法修饰符___;;只允许使用抽象或final”。我在互联网上看到的每一个地方,它都说不要称之为静态类,但我不是!!!这可能真的很蠢,我还不知道,因为我还是新手。请帮忙!这是我的代码:

  • 我的application.properties(读取环境变量) MyService类: 给它赋值并不能解决问题。例如,用 null 对于我所读的内容,我需要一个委托的(https://kotlinlang.org/docs/reference/delegated-properties.html),但我不能完全理解它。另外,如果有一个“更干净”的解决方案,我不想编写另一个方法来设置属性。有什么想法

  • private private修饰符是我们使用的最限制的修饰符。它表示它只能被自己所在的文件可见。所以如果我们给一个类声明为private,我们就不能在定义这个类之外的文件中使用它。 另一方面,如果我们在一个类里面使用了private修饰符,那访问权限就被限制在这个类里面了。甚至是继承这个类的子类也不能使用它。 所以一等公民,类、对象、接口……(也就是包成员)如果被定义为private,那么它们只