62,628
社区成员
发帖
与我相关
我的任务
分享

[/quote]
由此可见变量起个好名字的重要性!package http.hello;
class Clerk {
public int index = 0;
}
class Productor extends Thread {
private Clerk cl;
public Productor(Clerk c1) {
this.cl = c1;
}
@Override
public void run() {
System.out.println(cl.index);
}
}
public class Demo {
public static void main(String[] args) {
Clerk cl = new Clerk();
Thread th1 = new Productor(cl);//这里默认调用无参构造函数,所以cl没有被初始化,是null
th1.start();
}
}看错了,你你是cl和c1稿混了package http.hello;
class Clerk {
public int index = 0;
}
class Productor extends Thread {
private Clerk cl;
public Productor(Clerk c1) {
this.cl = cl;
}
@Override
public void run() {
System.out.println(cl.index);
}
}
public class Demo {
public static void main(String[] args) {
Clerk cl = new Clerk();
Thread th1 = new Productor(cl);//这里默认调用无参构造函数,所以cl没有被初始化,是null
th1.start();
}
}


public class Productor extends Thread {
private Clerk cl;
public Productor(Clerk c1){
this.cl=cl;
}
应该是this.cl=c1;一般来讲l与1不要放一块用,很容易混了。