Java面试八股之内部类有哪些类型

devtools/2024/10/18 5:49:40/
  1. 内部类有哪些类型?

Java内部类(Inner Class)是指在一个类的内部定义的类。内部类有多种类型,包括成员内部类(非静态内部类)、静态内部类(Static Nested Class)、局部内部类(Local Inner Class)和匿名内部类(Anonymous Inner Class)。它们各自有不同的作用和应用场景,下面分别介绍:

成员内部类(非静态内部类):

访问权限:可以直接访问外部类的成员,包括私有成员。

实现封装:可以隐藏实现细节,提高代码的封装性。

实现多重继承:Java不直接支持多重继承,但内部类可以实现多个接口或继承其他类,从而间接实现多重继承的效果。

设计模式:常用于实现诸如装饰者模式、观察者模式等设计模式。

静态内部类(Static Nested Class):

独立存在:不需要实例化外部类就能创建,类似于外部类的一个静态成员。

内存占用:每个静态内部类实例只占用一份内存空间,与外部类实例无关。

应用场景:适用于定义那些与外部类关联紧密但又不需要外部类实例化的类。

局部内部类(Local Inner Class):

定义位置:可以在方法、代码块等局部作用域内定义。

访问范围:可以访问所在方法或代码块的局部变量,但这些局部变量必须是final或effectively final的。

用途:常用于实现特定功能的小型类,有助于代码组织和阅读,特别是处理事件监听、线程等需要临时类的情况。

匿名内部类:

简洁快捷:无需命名,直接创建并实例化一个类的子类或实现某个接口的对象。

一次性使用:通常用于只需要一次使用的类实例,如事件处理器、线程任务等。

减少代码量:简化代码,使代码更加紧凑,特别是在处理简单回调或适配器模式时。

 如果大家需要视频版本的讲解,欢迎关注我的B站:


http://www.ppmy.cn/devtools/51022.html

相关文章

数据结构——排序

引言:在某宝上,当我们以价格升序或者降序来选择商品时,是什么让数以上百万件商品整齐地按照价格排成一列?当我们搜索中国大学排名时,又是哪种算法将中国的大学由高到低进行排列? 而问题的答案就可以在本篇博…

人工智能对零售业的影响

机器人、人工智能相关领域 news/events (专栏目录) 本文目录 一、人工智能如何改变零售格局二、利用人工智能实现购物体验自动化三、利用人工智能改善库存管理四、通过人工智能解决方案增强客户服务五、利用人工智能分析消费者行为六、利用 AI 打造个性化…

AI数字人的开源解决方案

目前,国内外已经涌现出一些优秀的数字人开源解决方案,这些解决方案为开发者提供了构建数字人应用的工具和基础设施。以下是一些比较知名的数字人开源解决方案。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1…

计算机毕业设计Python+Django农产品推荐系统 农产品爬虫 农产品商城 农产品大数据 农产品数据分析可视化 PySpark Hadoop Hive

课题研究的意义,国内外研究现状、水平和发展趋势 研究意义21世纪是一个信息爆炸的时代,人们在日常生活中可接触到的信息量非常之巨大。推荐系统逐步发展,其中又以个性化推荐系统最为瞩目。个性化推荐系统的核心在于个性化推荐算法&#xff0c…

如何保证数据库和缓存的一致性

背景:为了提高查询效率,一般会用redis作为缓存。客户端查询数据时,如果能直接命中缓存,就不用再去查数据库,从而减轻数据库的压力,而且redis是基于内存的数据库,读取速度比数据库要快很多。 更新…

窝里横的中国新造车全数被宝马碾压,奔驰、丰田也起来了

国内市场全是一片国产车击败外资车的欢呼,不过如果放到全球市场,情况完全不同,国内的新能源汽车企业在海外市场完全被碾压,甚至连宝马、大众、奔驰等都超越了中国的新能源汽车。 4月份全球新能源汽车市场销量排名显示,…

QT:tcpSocket 代理 报错The proxy type is invalid for this operation

Qt低版本正常通讯换用高版本后通讯报错 The proxy type is invalid for this operation qt调用connectToHost时会检查代理情况&#xff0c;qt程序默认会使用代理设置会导致此问题&#xff0c;只要关闭代理就可以了 #include<QNetworkProxy>QNetworkProxyFactory::setU…

技术与业务的完美融合:大数据BI如何真正提升业务价值

数据分析有一点经典案例 沃尔玛的啤酒和尿布案例 开始做BI的时候&#xff0c;大家肯定都看过书&#xff0c;那么一定也看过一个经典的案例&#xff0c;就是沃尔玛的啤酒和尿布的案例。这个案例确实很经典&#xff0c;但其实是一个失败的案例。为什么这么说呢&#xff1f;很明显…