2

私はJava meで働いています。First.java と Second.java の 2 つのビジュアル デザインを作成しました。どちらにもフォーム表示可能オブジェクトが含まれています。

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 に答える