局部内部类
1.局部内部类的概念
- 定义在外部类的方法中,作用范围和创建对象范围仅限于当前方法
- 局部内部类访问外类列当前方法中的局部变量时,因无法保障变量的生命周期(局部变量用过一次可能会被删除内存)与局部内部类相同,所以变量必须为常量(加修饰符:final)
- 限制类的使用范围
2.局部内部类的特点
- 需要写在外部类的方法中
- 不能有静态变量,但能有静态常量(与成员内部类一样)
- 在局部内部类方法中调用外部类属性:类名.this.属性名,静态变量也可以这样调用,还有其实可以直接调用,但这样写是一种注释(表示是外部类的属性)
- 调用局部内部类的属性:this.属性名,其实可以直接调用,但这样写是一种注释(表示是内部类的属性)
- 外部类方法中的属性,默认为常量(因无法保障变量的生命周期与局部内部类相同,所以变量必须为常量),但最好手动加上:final修辞词。
- 局部常量可以直接调用,局部内部类调用的局部属性必须是常量
- 使用局部内部类,只用在测试类中创建外部类对象(因为局部内部类写在外部类的方法里面)
- 局部内部类对象需要在类中提前写好(一般在方法的后面,别写到方法块里),调用哪个方法也要提前写好,这样调用外部类方法时(内部类在的方法)会直接执行。
3.代码
测试类
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具