Java — 内部类存在意义
发布日期:2021-06-30 19:50:01
浏览次数:3
分类:技术文章
本文共 559 字,大约阅读时间需要 1 分钟。
一、我们为什么要用内部类?
(1)解决多重继承
为什么要使用内部类?在《Think in java》中有这样一句话:使用内部类最吸引人的原因是:每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响。 在我们程序设计中有时候会存在一些使用接口很难解决的问题,这个时候我们可以利用内部类提供的、可以继承多个具体的或者抽象的类的能力来解决这些程序设计问题。可以这样说,接口只是解决了部分问题,而内部类使得多重继承的解决方案变得更加完整。
(2)其他
1、内部类可以用多个实例,每个实例都有自己的状态信息,并且与其他外围对象的信息相互独立。
2、在单个外围类中,可以让多个内部类以不同的方式实现同一个接口,或者继承同一个类。
3、创建内部类对象的时刻并不依赖于外围类对象的创建。
4、内部类并没有令人迷惑的“is-a”关系,他就是一个独立的实体。
5、内部类提供了更好的封装,除了该外围类,其他类都不能访问。
(3)静态内部类
我们知道非静态内部类在编译完成之后会隐含地保存着一个引用,该引用是指向创建它的外围内,但是静态内部类却没有。没有这个引用就意味着:
1、 它的创建是不需要依赖于外围类的。
2、 它不能使用任何外围类的非static成员变量和方法。
转自:
转载地址:https://lipenglin.blog.csdn.net/article/details/50889796 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2024年04月19日 05时08分02秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
D. Mahmoud and a Dictionary(种类并查集)
2019-04-30
POJ 1201Intervals(差分约束系统)
2019-04-30
UVA6588 - Crane
2019-04-30
UVA Magical GCD
2019-04-30
B. Code For 1
2019-04-30
UVALive - 6952 (隔板dp)
2019-04-30
uva Finding Lines
2019-04-30
uva Euclidean TSP (三分)
2019-04-30
pat L3-011. 直捣黄龙(dfs简单应用)
2019-04-30
set的基本使用
2019-04-30
pat L2-005. 集合相似度(set的简单应用)
2019-04-30
K-means聚类算法
2019-04-30
局部加权回归
2019-04-30
已知后序和中序求层序
2019-04-30
1051. Pop Sequence (25)
2019-04-30
爬虫(二)
2019-04-30
数据分析pandas用法
2019-04-30
阿里天池比赛报告的一点总结
2019-04-30
scala语言基础学习
2019-04-30
阿里天池赛后数据分析
2019-04-30