通过匿名类使用线程时隐式转换为可运行接口?

当我使用线程类的这个构造函数:Thread(Runnable target) 并在构造函数中使用匿名类时,我们是否可以说发生了隐式转换,其中我的匿名类对象被转换为可运行接口?

阿列克谢·凯戈罗多夫

不。

每个匿名类都有基类或接口,并且该类或接口必须扩展Runnable,因此不需要隐式或显式转换。

但是如果你的基类没有扩展Runnable,就会出现编译错误:

    new Thread(new Object(){});
    new Thread(new Serializable(){});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

通过实现可运行接口创建线程

Linq ToDictionary不会将类隐式转换为接口

使用LINQ IEnumerable.ToDictionary()时无法将类隐式转换为基类

关闭无法隐式转换为通用接口类型的成员的通用接口的类的实例

在类中的匿名类中实现多个可运行接口时,无法确定为什么CountDownLatch不起作用

如何停止通过实现可运行接口创建的线程?

隐式类vs隐式转换为特征

无法使用接口隐式转换类型

如何转换扩展线程类以实现可运行

当类依赖于隐式时,是否有惯用的方法将类转换为对象?

当接口具有多个通用参数时,如何解决“无法将[类型]隐式转换为[接口]”错误?

无法将类型[具体]隐式转换为[接口]

为什么Java同时提供线程类和可运行接口来创建线程?

从Shapeless HList转换为case类时,缺少隐式Generic.Aux

使用泛型和接口时如何解决“无隐式引用转换”问题

无法将匿名类型#1 []隐式转换为匿名类型#2 []

如何对通过实现可运行接口创建的线程进行Sleep()或wait()?

(GCC错误?)隐式转换为派生类

如何隐式转换为具有同名方法的类

强制隐式转换为最通用的共享类?

隐式将整数转换为类'BigInt'

Rails,在表上使用.find时,不会将Symbol隐式转换为Integer

使用 AddExplosionForce 时无法将类型“float”隐式转换为“UnityEngine.Vector3”

使用 Linq 分组时无法将类型列表隐式转换为 IEnumerable

TypeError:使用套接字时无法将“ bytes”对象转换为隐式str

使用没有 => 的哈希时,没有将 nil 隐式转换为 String

调用printf时隐式转换为char *

隐式转换为 const 类型时选择了错误的重载

C#接口错误:没有从类xxx到接口xxxx的隐式引用转换