局部变量n可能尚未初始化

时间:2013-10-21 05:16:53

标签: java

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

UI类在View中,导入已完成,但在最后一个表达式中我收到错误The local variable n may not have been initialized。我是Java的入门者,我不知道为什么我不被允许以这种方式使用它。

4 个答案:

答案 0 :(得分:1)

public static void main(String [] args){
    System.out.println("Hello");
    UI n =AssignUIOBjectHere ;
    n.menu();
}}

方法的本地variables需要在使用之前进行初始化。

编译器抱怨您正在使用尚未初始化的变量。

根据language specification

  

程序中的每个变量在使用其值之前必须具有值:

答案 1 :(得分:1)

实际上,调用n.menu()会导致NullPointerException因为您从未为其分配任何内容。

您需要执行以下操作:UI n = new ...UI n = someObject

答案 2 :(得分:1)

您必须创建UI实例,例如; UI n =新UI();

答案 3 :(得分:1)

如果要在java中的方法中声明变量/对象,则需要对其进行初始化。

在最简单的术语中,

在你的情况下,它是一个访问方法的对象,所以如果你不像

那样初始化它
UI n = new UI();

它会给你一个NULL指针异常。

希望它有所帮助。