我为什么要使用嵌套类?

什么时候嵌套类是可行的? 我看到它最常见的优点是“共享范围”(跨类使用变量)。

这不是一个最好的做法,而不仅仅是将嵌套类放在它自己的文件中,并通过构造函数传递参数?

使用嵌套类有几个原因,其中包括:

  1. 这是一种逻辑分组仅在一个地方使用的类的方法。

  2. 它增加了封装

  3. 嵌套类可以使代码更具可读性和可维护性

  4. 子级到父类连接更简单,因为它直观地说明了每个类的变量和方法。

除了已经提到的那些,另外一个好处是:

  • 嵌套类还可以帮助您实现多个实现inheritance (参考:Thinking in Java,第369页 – “为什么选择内部类”?)。 据我所知,没有其他方法可以在Java中实现它。

据我所知,我知道嵌套类使用时的一个案例,当我们看到一个对象(OBJ1)与第二个对象(OBJ2)紧密绑定时,我们无法创建没有第二个对象(OBJ2)的第一个对象(OBJ1)。 例如,我们有员工对象,一个关联对象是薪水,我们不能独立创建工资对象。 因为没有员工,我们要给他们工资。
如果我错了,请提供您的反馈。

第二种情况,当我们使用地图或地图时,我们可以使用嵌套类来删除地图的地图,使代码易于理解。

第三,当我们想要向客户端发送数据时,我们可以将它发送到具有所有数据的单个对象:)

当我们需要可以定义外部类的组件或我们想要定义适配器的东西时。

当我需要将一组相关字段传递给一个方法并在一个类中的几个方法调用中操作同一组数据时,我发现私有静态类很有用。 类似于LinkedList.Node类,它不向外部公开,而是用于将链接分组为单个单元。