public class swap {
String name;//全局变量
public static void main(String[] args) {
new swap();
}
public swap() {
String name = "wowo";//局部变量
System.out.println(this.name.toString());
}
String name;//全局变量
public static void main(String[] args) {
new swap();
}
public swap() {
String name = "wowo";//局部变量
System.out.println(this.name.toString());
}
}
=========运行结果========
Exception in thread "main" java.lang.NullPointerException
at swap.<init>(swap.java:8)
at swap.main(swap.java:4)
==========解答:
this.name作为全局变量默认为NULL,NULL对象.ToStrign();就会出现错误!
本文深入探讨了Java中类实例化过程中全局变量与局部变量的作用域区别,通过具体代码实例展示了当类中声明了局部变量与全局变量同名时,实例化构造方法中使用this关键字引用全局变量的重要性,以及不正确引用导致NullPointerException的错误原因。
171万+

被折叠的 条评论
为什么被折叠?



