1.内部类可以很好的实现隐藏, 一般的非内部类,是不允许有 private 与 protected 权限的,但内部类是可以的。
2.内部类拥有外围类的所有元素的访问权限
3.可是实现 多重继承
4.避免修改接口而实现同一个类中两种同名方法的调用
经验呢,实现多重继承, 个人觉得这个特点非常重要,个人认为它是内部类存在的最大理由之一。正是由于他的存在使得 java 的继承机制更加完善。大家也知道Java只能继承一个类(目前高版本的java支持多重继承了,不知道从哪方面的考虑),它的多重继承在我们没有学习内部类之前是用接口来实现的。但使用接口有时候有很多不方便的地方。比如我们实现一个接口就必须实现它里面的所有方法。而有了内部类就不一样了。它可以使我们的类继承多个具体类或 抽象类 。