匿名内部类

匿名内部类

请问老师照片这个是什么写法,是匿名内部类吗?为什么在构造方法后加大括号呢?如果是匿名内部类,那不是说匿名内部类是没有名字吗?http://img1.sycdn.imooc.com/climg//599f50fd0001afb128482384.jpg

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

匿名内部类没错,这个类就是没有名字呀,它是继承了Handler的一个没有名字的类。你也可以写成class MyHandler extends Handler{。。。。}然后mHandler=new MyHandler();这时候你的类才有名字呢叫MyHandler。祝:学习愉快

  • 慕仰6185215 提问者 #1
    老师请问mHandler是一个类吗?它上面不是有句public Handler mHandler;不是声明一个变量吗?然后后面才mHandler=new Handler(){......},等价于 public Handler mHandler=new Handler(){........},mHandler不是一个类吧?这好像是创建一个对象,但后面又跟大括号,还是不太懂
    2017-08-25 16:26:16
  • 好帮手慕雪 回复 提问者 慕仰6185215 #2
    mHandler是一个对象,它不是类。new Handler(){......}是个匿名类
    2017-08-25 18:16:58
  • 慕仰6185215 提问者 回复 好帮手慕雪 #3
    哦哦,mHandler应该是指向匿名类实例对象是吧,之前说匿名类只能使用一次,这里有了个对象名是不是就可以使用多次了
    2017-08-25 18:42:19
Tender10 2017-08-25 17:53:46

mHandler是一个Handler类型的对象。

  • 提问者 慕仰6185215 #1
    恩恩,但在构造函数后面加大括号是什么写法吗?以前没见过,在网上也找不到相关的回答
    2017-08-25 18:08:20
  • Tender10 回复 提问者 慕仰6185215 #2
    匿名内部类实例化后面不就会跟着一个{}。
    2017-08-25 18:12:07
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师