gpt4 book ai didi

java - 扩展抽象类的匿名类

转载 作者:行者123 更新时间:2023-12-01 22:40:04 25 4
gpt4 key购买 nike

我希望在指定时间 startTime 安排一项任务,当该时间到来时,我希望它运行一个方法rrun(boolean param1, Object someObj)

rrun() 是类中的一个方法,例如 SomeClass

并且,在 SomeClass 中,我有一个方法 m1() ,它作为其代码的一部分执行此操作:

    Timer startTimer = new Timer(); 


startTimer.schedule(new TimerTask() {
public void run() {rrun(false, this);}
},
startTime);

对此,我收到错误

incompatible types: <anonymous TimerTask> cannot be converted to SomeClass

我正在做的事情有什么问题吗?

TIA。

//=================================

编辑:

我正在使用 JDK 8——最新的

最佳答案

在匿名内部类中,this 是对当前 TimerTask 匿名子类的引用,而不是封闭类。

要引用封闭类,请限定 this:

public void run() {rrun(false, SomeClass.this);}

关于java - 扩展抽象类的匿名类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26308534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com