2

我在java中工作。我创建了两个视觉设计,First.java 和 Second.java,它们都包含表单可视组件。

我在 First.Java 中的表单中添加了一个 Ok 命令,并且用户应该在 Second.java 中切换到 SecondForm,但我收到了这个错误non-static method getSecondForm() cannot be referenced from a static context

我怎样才能解决这个问题?

两个文件都在同一个包中。这是源代码

 public void commandAction (Command command, Displayable displayable) {

    if (displayable == firstForm) {

        if (command == exitCommand) {
            exitMIDlet();

        } else if (command == okCommand) {

            switchDisplayable(null, Second.getSecondForm());
        }
    }
 }
4

1 回答 1

-1

您需要更改getSecondFormSecond.java 中的方法声明以使其成为静态。

如果它目前看起来像

Displayable getSecondForm() //... whatever code is there

然后改变后它应该看起来像

static Displayable getSecondForm() //... whatever code is there

请注意,上述更改将修复non-static method getSecondForm...您提到的错误,但有可能会导致 file 中出现新的编译错误Second.java。您将需要修复这些新错误,很可能通过static在这里和那里添加几个关键字,类似于上面显示的方式。


注意这是语言的基本东西;如果您在解决此问题时遇到困难,请考虑休息一下,为初学者学习一些教程。

于 2012-12-28T12:25:16.527 回答