Exception in thread "main" java.lang.NullPointerException报错的一种情况
初学java,出现Exception in thread “main” java.lang.NullPointerException错误,空指针异常问题。
代码如下:
Test.java中的代码
public class Test
{
public static void main(String[] args){
User u = new User();
u.name = "c";
u.sex = true;
u.addr.city = "zb";
System.out.println(u.addr.city);
}
}
User.java中的代码
public class User
{
String name;
boolean sex;
Address addr;
}
Address.class中的代码
public class Address
{
String city;
String street;
int ziCode;
}
编译时通过
运行时出现:Exception in thread “main” java.lang.NullPointerException
at Test.main(Test.java:12)
错误原因:使用User类当中的addr时,需要通过new创建对象,并将对象的内存地址赋u中的addr。否则addr为空。
Test.java中的代码更改如下
public class Test
{
public static void main(String[] args){
User u = new User();
u.name = "c";
u.sex = true;
u.addr = new Address();
u.addr.city = "zb";
System.out.println(u.addr.city);
}
}
运行结果:zb
初学java,以上内容如有错误请谅解,可以指出来共同学习。