内部类定义
内部类: 所谓内部类就是在一个类内部进行其他类结构的嵌套操作。
内部类的优缺点
优点
- 内部类与外部类可以方便的访问彼此的私有域(包括私有方法、私有属性)。
- 内部类是另外一种封装,对外部的其他类隐藏。
- 内部类可以实现java的单继承局限。
缺点
结构复杂
内部类是否有用、 必要和安全
当在Java1.1的Java语言中增加内部类时,很多程序员都认为这是–项很主要的新特性,
但这却违背了Java要比C++更加简单的设计理念。内部类的语法很复杂(可以看到,稍后介
绍的匿名内部类更加复杂)。它与访问控制和安全性等其他的语言特性的没有明显的关联。
由于增加了一些看似优美有趣,实属没必要的特性,似乎Java也开始走上了许多语言饱
受折磨的毁灭性道路上。
我们并不打算就这个问题给予-一个完整的答案。内部类是一-种编译器现象,与虚拟机无
关。编译器将会把内部类翻译成用$ (美元符号)分隔外部类名与内部类名的常规类文件,而
虚拟机则对此一无所知。
内部类的分类
局部内部类
在方法体中定义的类被称为局部内部类
局部类不能用public或private访问说明符进行声明。它的作用域被限定在声明这个局部
类的块中。
局部类有一一个优势,即对外部世界可以完全地隐藏起来。
与其他内部类相比较,局部类还有一个优点。它们不仅能够访问包含它们的外部类,还
可以访问局部变量。不过,那些局部变量必须事实上为final。这说明,它们一旦赋值就绝不.
会改变。
匿名内部类
将局部内部类的使用再深入一步。假如只创建这个类的一个对象,就不必命名了。这种类被称为匿名内部类
静态内部类