提问之星
2016-03-21 13:49
采纳率: 99.8%
浏览 1.4k
已采纳

java中下面这段代码是一个匿名对象传入一个匿名对象在调用start方法吗

new Thread(new Runnable() {.....省略代码若干..........}).start();

上面这段代码是一个匿名对象传入一个匿名对象在调用start方法吗

还是一个匿名类传入一个匿名对象再调用start方法

我有点分不清匿名对象和匿名类呢

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • danielinbiti 2016-03-21 14:06
    已采纳
     new Runnable() {.....省略代码若干..........}
     匿名类,因为Runnable是接口,需要实现类
    
     new Thread
     匿名对象,Thread本身就是类,没有匿名
     所以是匿名对象嵌套匿名类
    
    打赏 评论
  • 毕小宝 2016-03-21 14:06
     可以这么理解,匿名对象就是直接new的一个对象而没有用某个变量接收,参数是创建了一个匿名类实现Runnable接口,并创建一个这个匿名类的对象作为Thread类构造参数。匿名类是类,是为了不单独创建一个类而临时实现的,好处就是用完就扔,不会创建类文件。
    
    打赏 评论
  • try_so_hard 2021-09-22 15:48

    这外层是Thread类,小括号是一个Runnable的匿名子类,就是Runnable的子类的对象。

    打赏 评论

相关推荐 更多相似问题