黑马程序员技术交流社区
标题:
疑惑
[打印本页]
作者:
qmlovewhr
时间:
2013-8-17 23:04
标题:
疑惑
本帖最后由 qmlovewhr 于 2013-8-18 01:00 编辑
package it.huigu;
public class Test4 {
public static void main(String[] args) {
ackage it.huigu;
public class Test4 {
public static void main(String[] args) {
Test4 t=null;
int i=4;
while(i>0){
if(i==2){
t=new Test4();
t.add(1, 2);
}
if(i==3){
t.add(3, 4);
}
i--;
}
}
public int add(int i,int j){
System.out.println(i+j);
return i+j;
}
}
在两个if条件句中,都有对象t,这两个t是一样的吗,另外在两个if语句中都有调用t对象的add方法,结果发现编译能通过,执行时报错?这是为什么
作者:
x.love
时间:
2013-9-4 21:46
当4减到3的时候就会调用add方法,可是此时t对象是空呀。会出现空指针异常
作者:
赖龙威
时间:
2013-10-2 00:34
这。。。
首先这个t是同一个。然后报错是因为企图调用一个指向为空的对象。你自己看看自己的代码。是先执行第二条个if的。
ps:你为什么不把add方法声明为一个静态方法。。而且你在主函数里面调用这个方法也根本不需要用对象
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2