日期:2014-05-20  浏览次数:20651 次

java 为什么要设计内部类
为什么需要内部类?

------解决方案--------------------
简单来说,因为别的地方用不到,才会设计成内部类,内部类与其外部类关联较强
------解决方案--------------------
探讨

简单来说,因为别的地方用不到,才会设计成内部类,内部类与其外部类关联较强

------解决方案--------------------
可以直接访问类成员,很方便
------解决方案--------------------
个人觉得,设计内部类的初衷,应该是当需要一种类的数据结构,但是又不想暴露给客户端,而作为细节隐藏起来。
例如:需要一个多线程实现问题。可以把线程类作为内部类来使用,而外部类可以调用,包括控制数量等等。那么客户端只通过外部类调用,不和线程类打交道!
------解决方案--------------------
一是可以提高封装性,再者使用匿名内部类可以简化很多代码,这对编写一次性的子类非常有效。在swing的编写中就充斥着大量的匿名内部类。
------解决方案--------------------
实现代码的紧凑性,实现细节的隐藏性。同意楼上说的在swing中用的相当多。
------解决方案--------------------
符合面向对象的封装性特征,同时保持了一个高内聚的特性。
------解决方案--------------------
这个设计很好。
增加了封装性。
还有本来一个包里本来不能有相同的类名,但是作为内部类就可以。