例如:
public class TwoTaskCirculate {
class TaskA extends TimerTask {
public void run() {
                                System.out.println("A!");
new Timer().schedule(new TaskB(), 2000);
}
}
class TaskB extends TimerTask {
@Override
public void run() {
                       System.out.println("B");
new Timer().schedule(new TaskA(), 2000);
}
}
public static void main(String[] args) {
new Timer().schedule(new TwoTaskCirculate().new TaskB(), 2000);
}
}可以运行,当我写在main方法的时候就总报错,求大侠指导!!!
public class TwoTaskCirculate {
public static void main(String[] args) {
class TaskB extends TimerTask {
@Override
public void run() {
System.out.println("B");
new Timer().schedule(new TaskA(), 2000); //此处报错TaskA 无法解析为类型
}
}
class TaskA extends TimerTask {
@Override
public void run() {
System.out.println("A");
new Timer().schedule(new TaskB(), 2000);
}
}

}
}

解决方案 »

  1.   

    main方法从上往下按顺序执行,没有解析到TaskA当然不知道它是什么了。
      

  2.   

    方法下面可以写一个类的吗?好像内部类不是这样写吧?一个类的定义放在另一个类的内部,这个类就叫做内部类。第一段代码TaskA和TaskB都是内部类,第二段代码应该没这种写法
      

  3.   


    1楼的一句"main方法从上往下按顺序执行"让我顿悟了,谢谢你了,