一个程序中如果
这样
public chengxu(){ \\构造方法
start();
}
.....
.....
while(true){
new chengxu()
}
但如果这样while(true){
start();
}
这样运行后就不行,提示我空指针异常,这是为什么,为什么非得把start放入构造方法之中才能运行!
这样
public chengxu(){ \\构造方法
start();
}
.....
.....
while(true){
new chengxu()
}
但如果这样while(true){
start();
}
这样运行后就不行,提示我空指针异常,这是为什么,为什么非得把start放入构造方法之中才能运行!
当调用一个Runnable的对象o的start()方法的时候,该方法将o初始化为一个线程并置它为等待执行状态。
start()方法不一定要放在构造器中,但是必须得有一个对象。
lz的第一种写法每次都new了一个新的对象,所以没有问题。但是第二种方法,你要把什么东西初始化为一个线程呢?
不懂start()方法里面是怎么执行的,具体的操作和运行平台有关。也不知道空指针出在哪里。
怎么就有start呢?