public class ExcTest { int a=1; public static void main(String[] args) { ExcTest t1 = new ExcTest(); ExcTest t2 = null; // 请在Begin-End间编写代码 /********** Begin **********/ // 请在此添加或者修改代码 System.out.println(t1.a); System.out.println(t2.a); System.out.println(t2.funC()); /********** End **********/ } public String funC(){ return "123"; } }
时间: 2023-07-06 09:34:51 浏览: 199
在上述代码中,变量`t1`是一个`ExcTest`类的实例对象,而变量`t2`则没有被初始化。因此,在访问`t2`对象的属性或方法时会产生`NullPointerException`异常。为了避免这种异常,我们可以在访问变量`t2`之前,先对其进行非空判断。修改后的代码如下:
```
public class ExcTest {
int a=1;
public static void main(String[] args) {
ExcTest t1 = new ExcTest();
ExcTest t2 = null;
// 请在Begin-End间编写代码
/********** Begin **********/
// 请在此添加或者修改代码
System.out.println(t1.a);
if (t2 != null) {
System.out.println(t2.a);
System.out.println(t2.funC());
} else {
System.out.println("t2对象为空!");
}
/********** End **********/
}
public String funC(){
return "123";
}
}
```
在修改后的代码中,我们首先使用`if`语句对`t2`进行了非空判断,然后才访问`t2`的属性和方法。如果`t2`对象为空,那么就输出提示信息。这样就可以避免出现`NullPointerException`异常了。
阅读全文