随笔- 12  文章- 3  评论- 0  阅读- 449 

内部类

- 基本介绍

一个类内部又完整的嵌入了另一个类结构。被嵌套的类称为内部类,嵌套的其他类成为外部类。
类的五大成员:[属性、方法、构造器、代码块、内部类]
内部类可以直接访问私有属性。

- 内部类分类

-定义在外部类局部位置上(比如方法内):

  1. 局部内部类(有类名)
  2. 匿名内部类(没有类名,重点

- 定义在外部类的成员位置上:

  1. 成员内部类(没有用static修饰)
  2. 静态内部类(使用static修饰)

-细节

说明:局部内部类时定义在外部类的局部位置,比如方法中,并且有类名。

  1. 可以直接访问外部类的所有成员,包含私有的
  2. 不能添加访问修饰符,因为它的地位就是一个局部变量。局部变量时不能使用修饰符的。但是可以使用final
  3. 作用域:仅仅在定义它的方法或代码块中。
  4. 局部内部类--访问--->外部类的成员[访问方式:直接访问]
  5. 外部类--访问--->局部内部类的成员 访问方式:创建对象,再访问(注意:必须在作用域中)

记住: (1)局部内部类定义在方法中/代码块
(2)作用域在方法体或者代码块中
(3)本质仍然是一个类
6. 外部其他类--不能访问--->局部内部类(因为局部内部类地位是一个局部变量)
7. 如果外部类和局部内部类的成员重合时,默认遵循就近原则,如果想访问外部类的成员,则可以使用(外部类.this.成员)去访问
匿名内部类

  1. 本质是类
  2. 内部类
  3. 该类没有名字
  4. 同时还是一个对象
    说明:匿名内部类定义在外部类的局部位置,如方法
    语法 new 类或接口(参数列表){
    类体
    }

类外访问成员内部类:
outer10.inner10 inner10 = outer10.new inner10();
inner10.say();
类外访问静态成员内部类
outer10.inner10 inner10 = new outer10.inner10();
inner10.say();

 posted on   11、  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示