Java内部类

  • 成员内部类
成员内部类:可以访问外部类的所有成员属性和方法(包括 private / static)
成员内部类:编译器会默认为成员内部类添加了一个指向外部类对象的引用
成员内部类:当内部类与外部类的字段或方法同名时,默认访问内部类的成员,如果要访问外部类成员,则需要显示指定:
外部类.this.成员变量
外部类.this.成员方法
  • 局部内部类
局部内部类:像是方法里面的一个局部变量一样
局部内部类:不能有 public、protected、private、static 修饰符
  • 匿名内部类
匿名内部类:在编译的时候由系统自动起名为 Outter$1.class。
举例:
   public void somethingHappen() {
        Runnable runnable = new Runnable(){
            @Override
            public void run(){
                ++year;
            }
        };
        runnable.run();
    }
  • 静态嵌套类
静态内部类:不依赖于外部类,没有指向外部类对象的引用
静态内部类:只能使用外部类的static成员变量或者方法
  • 创建内部类
创建静态内部类对象: 外部类类名.内部类类名 xxx = new 外部类类名.内部类类名()
创建成员内部类对象: 外部类类名.内部类类名 xxx = new 外部类类名().new 内部类类名()
  • 内部类的原因 ( 好处 )
每个内部类都能独立地实现一个接口,不管外部类是否实现类某个接,对于内部类没有影响

demo 地址

参考文章:
Java 内部类详解

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 转载:https://juejin.im/post/5a903ef96fb9a063435ef0c8 本文将会从以...
    福later阅读 468评论 0 3
  • 搞懂 JAVA 内部类 前些天写了一篇关于 2018 年奋斗计划的文章,其实做 Android 开发也有一段时间了...
    醒着的码者阅读 647评论 0 0
  • 问:Java 常见的内部类有哪几种,简单说说其特征? 答:静态内部类、成员内部类、方法内部类(局部内部类)、匿名内...
    Little丶Jerry阅读 2,213评论 0 1
  • 说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉。原因是平时编写代码时可能用到的场景不多,用得最多的是在有...
    Java架构师Carl阅读 492评论 0 3
  • 「2017年-051篇博客」 书名:《心理学百科》作者:英国DK出版社页数:352页 想要快速了解广泛的心理学领域...
    千寻的日常阅读 1,004评论 1 1

友情链接更多精彩内容