内部类虽然和外部类写在同一个文件中, 但是编译完成后, 还是生成各自的class文件,内部类通过this访问外部类的成员。1 编译器自动为内部类添加一个成员变量, 这个成员变量的类型和外部类的类型相同, 这个成员变量就是指向外部类对象(this)的引用;2 编译器自动为内部类的构造方法添加一个参数, 参数的类型是外部类的类型, 在构造方法内部使用这个参数为内部类中添加的成员变量赋值;3在调用内部类的构造函数初始化内部类对象时,会默认传入外部类的引用。
非静态内部类为什么持有外部类的this引用
最新推荐文章于 2022-06-16 21:59:28 发布
本文详细介绍了Java内部类的实现机制,包括编译器如何为内部类添加指向外部类的引用,构造方法中如何传递外部类实例,以及创建内部类对象时如何自动传入外部类引用。
1273

被折叠的 条评论
为什么被折叠?



