当前位置: 首页 > news >正文

JAVA内部类基础

内部类
一、概念

  1. 内部类:定义在一个类内部的类

  2. 内部类编译之后生成独立的 .class 文件,命名: 外部类类名$内部类类名.class

  3. 内部类可以直接使用外部类私有成员,从而不破坏外部类的封装性。

  4. 内部类的分类:成员内部类、静态内部类、局部内部类、匿名内部类。
    二、内部类的分类

  5. 成员内部类:类比于实例变量 【了解】
    (1) 位置:定义在类以内,方法以外。
    (2) 成员内部类对象的创建,必须依赖于外部类的对象而创建:
    Outer o = new Outer(); // 外部类的对象
    Outer.Inner i = o.new Inner(); // 内部类的对象
    (3) 外部类的当前对象:外部类类名.this
    外部类类名.this.属性名 -》访问外部类的属性
    外部类类名.this.成员方法名(参数) ; ---->调用外部类的成员方法
    (4) 成员内部类中不能定义静态成员(静态属性和静态方法)

  6. 静态内部类:类比于静态变量【了解】
    (1) 位置:定义在类以内,方法以外,同时被 static 修饰
    (2) 静态内部类中可以定义实例变量,也可以定义静态变量
    (3) 创建静态内部类的对象,只需要依赖于外部类的类名即可:
    Outer.Inner i = new Outer.Inner();
    (4) 访问静态内部类的静态成员时,可以直接通过 外部类类名.静态内部类类名 进行访问。
    外部类类名.静态内部类类名.静态属性名
    外部类类名.静态内部类类名.静态方法名(实参);
    (5) 静态内部类只能访问外部类的静态成员(静态属性和静态的方法)

  7. 局部内部类:类比于局部变量
    (1) 位置:定义在方法内部
    (2) 局部内部类对象的创建,必须在定义它的方法内部创建,并且在类的定义位置后面完成对象的创建
    (3) 局部内部类的方法中可以访问定义它的方法内部的局部变量,但是要求局部变量必须 被 final 修饰。
    注意:JDK8.0及以上版本,编译器编译时,如果检测到局部变量被局部内部类中方法访问,则默认
    为此局部变量前面 final ,这种技术被称为语法糖。

  8. 匿名内部类:是一个特殊的局部内部类
    (1) 匿名内部类的定义必须继承一个类或是实现一个接口
    (2) 基于一个匿名内部类只能创建该类的一个对象,并且匿名内部类的定义和对象的创建一起完成。
    (3) 语法:
    接口名 引用名 = new 接口名(){
    // 接口中需要实现的方法
    };
    (4) 匿名内部类的优缺点:
    a. 优点:减小代码量,让编程思路连贯。
    b. 缺点:可读性低。

http://www.zskr.cn/news/1536585.html

相关文章:

  • 从实验室微观晶相到国民餐桌,悠米兔定义新生代健康陶瓷餐 - 资讯报道
  • 2026年哈尔滨优质职业教育院校甄选:深耕本土职教,铁路、高铁乘务、火车司机、航空服务等,兼顾多元升学与定向就业 - 海棠依旧大
  • Steam Deck控制器Windows驱动深度解析:SWICD完整实战指南
  • 2026报考云南机器人工程专业,强烈推荐这四所 - 品牌2026
  • 2026年投身线下零基础AI培训,值不值?江浙沪转行实录 - 品牌报告
  • 后端技术23-撮合引擎<50微秒!GDAX交易所的微服务架构揭秘,Go+Kafka+Cassandra交易所技术栈的极致性能
  • 2026国内闸阀/蝶阀/不锈钢阀门/化工阀门/沪工阀门TOP5!广东佛山等地供应链口碑过硬广受好评 - 十大品牌榜
  • 2026压滤机/厢式压滤机/板框压滤机厂家推荐榜单:江苏苏东化工 - 奔跑123
  • 官宣底价!今晚20:00苹果全面破价,iPhone17跌至4000+!手把手教你叠满国补与618红包,轻松省千元 - 资讯焦点
  • specs/features/DragAndDrop.spec.md中的测试用例
  • 天津滨海全域优选!品尚艺墅深耕 14 年,装修靠谱不踩坑 - 速递信息
  • 【Git】Git reset 完整指南:真正理解 HEAD、暂存区与工作区
  • 2026年宁夏高碳低硫产品对标评测;炼钢增碳剂采购必读: - 精选优质企业推荐官
  • 2026高考最值得大家报考的3所“新大学”,个个实力强劲,就业极好!高低分都能选!家长考生了解
  • 3个实用场景:如何用安卓手机轻松启动Switch游戏机
  • 杭州手表回收选店指南:这6家口碑好店,经过20项细节考核 - 生活测评君
  • 旧衣回收环保去向TOP5测评 - 资讯焦点
  • winscp连接linux失败解决方法
  • 2026年山东超高分子量聚乙烯板材定制生产,全国PE/PP板材源头厂家对标指南 - 优质企业观察收录
  • MouseTooltipTranslator:终极浏览器翻译解决方案,一鼠悬停翻译所有内容
  • Win11Debloat终极指南:免费开源工具让Windows 11性能飙升51%的秘诀
  • 锂电池点焊机如何选?赤豹科技深度解析工业级焊接方案 - 资讯报道
  • 如何快速搭建实时通信服务器:LiveKit终极部署指南
  • 如何通过微信发起投票活动?2026年6月实测:火星投票 vs 腾讯投票 ,这款永久免费还无广告 - 微信投票小程序
  • 2026美国高端留学服务机构观察:生态成长型vs传统申请型深度对照 - 品牌2026
  • 2026深圳宝安奢侈品回收避坑 虚高报价到店压价全拆解 - 逸程
  • 5大理由让你立刻爱上LX Music:免费开源音乐播放器的终极选择
  • 直播输入显示神器:input-overlay让你的每个按键操作都清晰可见
  • 六安悦动云端:专注AI搜索GEO优化,帮本地企业在AI时代被客户找到 - 奔跑123
  • Android OS系统kswapd、kworker、HeapTaskDaemon/heapdamon对卡顿丢帧及应用流畅性的影响