public class TicketThread {
public static void main(String arg[])
{
new MyThread("一").start();
new MyThread("二").start();
new MyThread("三").start();
new MyThread("四").start();
}
public class MyThread extends Thread{
private int ticket=100;
public void run(){
while(ticket>0)
{
System.out.println(this.getName()+"号窗口已售出["+(ticket--)+"]张票");
}
}
}}
public class MyThread extends Thread{
publuc MyThread(String name) { //here
super(name);
} private int ticket=100;
public void run(){
while(ticket>0)
{
System.out.println(this.getName()+"号窗口已售出["+(ticket--)+"]张票");
}
}
}
错误2、静态方法调用了内部类的构造方法改成这样
public class TicketThread {
public static void main(String arg[])
{
new MyThread("一").start();
new MyThread("二").start();
new MyThread("三").start();
new MyThread("四").start();
}
}class MyThread extends Thread{
MyThread(String name) {
super(name);
}
private int ticket=100;
public void run(){
while(ticket>0)
{
System.out.println(this.getName()+"号窗口已售出["+(ticket--)+"]张票");
}
}
}
public class TicketThread {
public static void main(String arg[]) {
TicketThread tt = new TicketThread();
tt.new MyThread("一").start();
tt.new MyThread("二").start();
tt.new MyThread("三").start();
tt.new MyThread("四").start();
} public class MyThread extends Thread {
public MyThread(String name) { // here
super(name);
}
private int ticket = 100; public void run() {
while (ticket > 0) {
System.out.println(this.getName() + "号窗口已售出[" + (ticket--)
+ "]张票");
}
}
}}
Thread默认的构造方法不能用吗?
while (true) {
int result = counter.getAndDecrement();
if (result <= 0)
break;
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(result + ":" + Thread.currentThread().getName() + "卖出 第 " + (101 - result)
+ "张票");
}
} public static void main(String[] args) {
TicketThread th = new TicketThread();
new Thread(th, "一号窗口").start();
new Thread(th, "二号窗口").start();
new Thread(th, "三号窗口").start();
new Thread(th, "四号窗口").start();
}
}楼主想实现的是这样的效果嘛?看看这个程序
public class TicketThread {
public static void main(String arg[])
{
TicketThread t = new TicketThread();
t.new MyThread("一").start();
t.new MyThread("二").start();
t.new MyThread("三").start();
t.new MyThread("四").start();
}
private class MyThread extends Thread{
private int ticket=100;
public MyThread(String string) {
super(string);
}
public void run(){
while(ticket>0)
{
System.out.println(this.getName()+"号窗口已售出["+(ticket--)+"]张票");
}
}
}}注: 1.MyThread 要有带参构造函数
2.同一个Java文件里面只能有一个 public的类
3.main 函数运行需要所在类的实例