
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
骨灰级java程序员谈内部类
说到java内部类,想必大家首先会想到比较常用的“匿名内部类”,但实际上,这只是内部类的其中一种使用方式而已。内部类的使用方式实际上总共包括:成员内部类, 方法局部类,匿名内部类,下面,我就给大家来一一介绍:
为什么要使用内部类?
昆明it培训老师觉得有的时候你可能有这样一种需求:对一个类(假设它为MyClass.java)创建一个和它相关的类(假设它是Part.java),但因为Part.java和MyClass之间的联系“紧密”且“单一”,导致我们在这种情况下,不希望像下面这样增加一个额外的兄弟类
而希望能将Part.java的数据隐藏在MyClass.java内部,于是这个时候内部类就堂而皇之地出现了
那么,这个不请自来的内部类到底给我们上述的局面造成了怎样的改变呢? 让我们来看看:
增加一个额外的兄弟类Part:
1. 对一些没有关联的类可见(如果protected则对同一包内类可见,如果public则对所有类可见)
2. 不能完全自由的访问MyClass中的私有数据(必须经过访问器方法)
3. 新增了一个java文件
使用内部类,将Part类的定义写入MyClass内部:
(1). 可以减少多余的可见性,例如可把Part在MyClass内部定义为私有,这样对同一包内其他类也不可见了
(2). 内部类(Part)可以自由访问外围类的所有数据(MyClass),包括私有数据
(3). 减少了一个java文件,使得类结构更简洁
成员内部类
故名思议,成员内部类嘛~ 使用当然和成员变量很相似咯
你可以像
private String data
这样定义一个“平行的”成员内部类:
private class Inner
昆明达内老师给大家具体看下面的图片: