此处 static 修饰了 变量 tick
百度解释: 被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们。因此,static对象可以在它的任何对象创建之前访问,无需引用任何对象。
我理解在此处五个线程对tick 共同调用 是他们的共享变量 是否正确?求指教
public class piao extends Thread{
private static int piao = 100;
public void run(){
while(true){
if(piao > 0){
System.out.println(Thread.currentThread().getName()+"...sale"+piao--);
}
}
}
}
public class test10 {
public static void main(String[] args) {
piao p1 = new piao();
piao p2 = new piao();
piao p3 = new piao();
piao p4 = new piao();
piao p5 = new piao();
p1.start();
p2.start();
p3.start();
p4.start();
p5.start();
}
}
|