0
import View.UI;
public class App {
UI m;    
public static void main(String [] args){
    System.out.println("Hello");
    UI n ;
    n.menu();
}}

UIクラスはビューにあり、インポートは完了しましたが、最後の式でエラーが発生し The local variable n may not have been initializedました.私はJavaのスターターであり、この方法で使用できない理由がわかりません.

4

4 に答える 4

1

Java のメソッド内で変数/オブジェクトを宣言している場合は、初期化する必要があります。

最も簡単に言えば、

あなたの場合、メソッドにアクセスしているオブジェクトなので、初期化しないと

UI n = new UI();

NULL ポインター例外が発生します。

それが役に立てば幸い。

于 2013-10-21T05:23:58.640 に答える
1
public static void main(String [] args){
    System.out.println("Hello");
    UI n =AssignUIOBjectHere ;
    n.menu();
}}

メソッドのローカルvariablesは、使用する前に初期化する必要があります。

まだ初期化されていない変数を使用しているとコンパイラが不平を言っています。

言語仕様による

プログラム内のすべての変数は、その値が使用される前に値を持つ必要があります。

于 2013-10-21T05:18:28.850 に答える
1

そのままでは、何も割り当てないため、呼び出すn.menu()と a が発生します。NullPointerException

次のようなことをする必要があります:UI n = new ...またはUI n = someObject.

于 2013-10-21T05:19:38.120 に答える
1

次のような UI のインスタンスを作成する必要があります。UI n = 新しい UI();

于 2013-10-21T05:19:43.350 に答える