黑马程序员技术交流社区

标题: 关于多线程卖票那个例子的一点小疑问 [打印本页]

作者: 霜林醉zhx    时间: 2014-7-8 21:54
标题: 关于多线程卖票那个例子的一点小疑问
本帖最后由 霜林醉zhx 于 2014-7-8 21:54 编辑
  1. class Sale
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 Tickit t = new Tickit();
  6.                 Thread t1 = new Thread(t);
  7.                 Thread t2 = new Thread(t);
  8.                 Thread t3 = new Thread(t);
  9.                 Thread t4 = new Thread(t);
  10.                 t1.start();
  11.                 t2.start();
  12.                 t3.start();
  13.                 t4.start();
  14.         }
  15. }
  16. class Tickit implements Runnable
  17. {
  18.         private int tick=100;
  19.         public void run()
  20.         {
  21.                 while (true)
  22.                 {
  23.                         if (tick>0)
  24.                         {
  25.                                 System.out.println(Thread.currentThread().getName()+"---"+tick);
  26.                         }
  27.                         tick--;
  28.                 }
  29.         }
  30. }
复制代码
这是毕老师视频里卖票那个例子的原码。我在练习的时候,将class tickit中的private int tick=100;   分行写成了:private int tick;
tick=100;
编译时,给我说tick=100;     这一行错误,需要<标识符>。什么意思?
  1. private int tick;
  2.         tick=100;
复制代码




QQ截图20140708215329.png (1.82 KB, 下载次数: 49)

QQ截图20140708215329.png

作者: fantacyleo    时间: 2014-7-8 22:15
这是成员变量声明,不是方法里定义局部变量,语法不允许这样分两行写的
作者: 790324255a    时间: 2014-7-8 22:56
局部变量要给初始化值 你换成两行 要在private int tick后加上=0




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2