Java 参数不匹配;方法无法转换为TimerTask

Java 参数不匹配;方法无法转换为TimerTask,java,timer,schedule,timertask,Java,Timer,Schedule,Timertask,我一直在犯这样的错误: 错误:找不到适用于计划的方法(足球,int) 方法计时器。计划(TimerTask,long)不适用 (参数不匹配;无法将足球转换为TimerTask) 方法计时器。计划(计时器任务,日期)不适用 (参数不匹配;无法将足球转换为TimerTask) import java.util.*; 公开课舞会{ 私有静态整数时间=1; 公共静态void main(字符串[]args){ int a=0,b=0,c=0,d=0,e=0; 截击一号=新截击(); 海滩二=新海滩();

我一直在犯这样的错误:

错误:找不到适用于计划的方法(足球,int)

方法计时器。计划(TimerTask,long)不适用

(参数不匹配;无法将足球转换为TimerTask)

方法计时器。计划(计时器任务,日期)不适用

(参数不匹配;无法将足球转换为TimerTask)

import java.util.*;
公开课舞会{
私有静态整数时间=1;
公共静态void main(字符串[]args){
int a=0,b=0,c=0,d=0,e=0;
截击一号=新截击();
海滩二=新海滩();
足球三号=新足球();
第四篮=新篮();
口袋妖怪五号=新的口袋妖怪();
计时器myTime1=新计时器();
计时器myTime2=新计时器();
计时器myTime3=新计时器();
计时器myTime4=新计时器();
计时器myTime5=新计时器();

对于(int x=0;x您正在创建类型为
soccer

soccer three=new soccer();

然后尝试将此类型为“soccer”的对象作为timers schedule函数的第一个参数传递。
但是schedule函数期望第一个参数的类型为
TimerTask

你需要做的是

  • 让你的足球课从TimerTask开始

  • @覆盖
    run()
    函数

  • 创建类型为
    TimerTask
    的新对象(因为您的类扩展了TimerTask,请参见下面的示例)
例如:

class soccer extends TimerTask{
    @Override
    public void run(){
        System.out.println("Soccer ball");
    }
}
three.cancel()    
然后您只需创建如下对象:

TimerTask three = new soccer();
从TimerTask扩展还提供了
cancel()
scheduledExecutionTime()
函数 后者返回此任务最近实际执行的计划执行时间。
cancel()
非常简单,它取消了计时器任务

例如,你可以打电话:

class soccer extends TimerTask{
    @Override
    public void run(){
        System.out.println("Soccer ball");
    }
}
three.cancel()    


soccer
需要扩展
TimerTask
,以便由
Timer
调度,如下所示:

class soccer extends TimerTask {
   @Override
   public void run(){
       System.out.println("Soccer ball");
   }
}
同样的情况也适用于basket和pokemon类

实际上,您的代码没有编译,因为这些类不是
TimerTask
的实例,您试图在
myTime1.schedule