关于内部类被 static 修饰

关于内部类被 static 修饰

静态内部类和普通内部类有什么区别?

正在回答 回答被采纳积分+1

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

2回答
好帮手慕小脸 2019-12-26 14:42:08

同学你好,静态内部类的使用场景多偏向于安卓,而安卓的底层是由java实现的。

安卓中的具体实例如下:

    1、Listview的Adapter中的ViewHolder

    2、 Activity的中的Handler(静态handler,通过弱引用持有外部activity)

    3、builder模式中的builder类

    4、集合中的Entry类

    5、 各种View内部的listener

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

    


好帮手慕小脸 2019-12-25 14:48:57

同学你好,静态内部类与普通内部类区别如下:

      1、static可以修饰一个内部类,称之为内部类,普通内部类不可以使用static修饰

                http://img1.sycdn.imooc.com//climg/5e03031009ad4cb203240128.jpg

      2、普通内部类实例化后的对象持有外部类的引用,可以访问外部类的成员;

            静态内部类实例化不持有外部对象引用,不能访问外面的方法和成员;

http://img1.sycdn.imooc.com//climg/5e0304b7090bf8d407210284.jpg

      3、外部类静态方法中,无法创建普通内部类对象,可以创建静态内部类对象

如果我的回答解决了你疑惑,请采纳,祝学习愉快~


  • 提问者 chen4393c #1
    具体有什么场合会用到静态内部类,能否举个例子?谢谢
    2019-12-25 20:39:37
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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