2019-05-05

<meta charset="utf-8">

关于内部类的几点问题

1.内部类在生成字节码时和外部类是两个不同的类,但是内部类生成的class文件的名字是无法直接访问的,因为编译会报错(原代码中没有定义这个名字的类),所以只能通过外部类.内部类的方式访问。内部类的字节码里有访问外部类的属性和方法的自动生成的方法。因为成员内部类只能由外部类的对象创建,所以它必然关联者一个外部类对象。

2.静态内部类和成员内部类的区别在于静态内部类不可以访问外部类的成员变量,但定义的静态变量可以不是常量

3方法内部类和方法内其他成员一样一起创建,消失,虽然有办法可以在方法结束后获得方法内部类,但在外部不可以创建这个类的引用变量

4匿名内部类和lemda表达式(lemda表达式不会生成单独的字节码文件,但匿名内部类会,系统给它自动命名)

http://www.cnblogs.com/jiangao/archive/2012/02/23/2364119.html(可参考)

方法内部类和成员内部类的静态属性只能为常量

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 整理来自互联网 1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具...
    Ncompass阅读 5,407评论 0 6
  • 一:java概述: 1,JDK:Java Development Kit,java的开发和运行环境,java的开发...
    慕容小伟阅读 5,795评论 0 10
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 7,581评论 0 11
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,800评论 1 32
  • 1.import static是Java 5增加的功能,就是将Import类中的静态方法,可以作为本类的静态方法来...
    XLsn0w阅读 5,005评论 0 2