java – 内部类太多了?

前端之家收集整理的这篇文章主要介绍了java – 内部类太多了?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我了解到当一个对象与另一个对象密切相关时,将使用内部类.所以一个LinkedList类可能包含一个内部的Node类,因为每个Node只存在于它的LinkedList中.

我正在考虑制作游戏,并且正在考虑制作一个Map对象,并使用一个双数组的Tile,每个Tile是一个内部类.

但是后来我觉得真的,Map类应该是Game类内的一个内部类.

所以我们有

class Game {
  class Map {
    Tile[][] grid;
    class Tile {
      ...
    }
  ...
  }
  class Unit {
    ...
  }
  class Player {
    ...
  }
  ...
}

然而,这似乎是过度的,因为它只能产生一个大量的文件.这是个问题吗?还是我完全误解内在的课程?

当选择内部或外部新类时,应该考虑什么因素,如果选择是内在的,内部类应该什么时候是静态的?

解决方法

什么时候使用内在的类是与科学一样多的艺术.基本上看看你的代码文件有多大,每个类都有多大.如果一个类是大而复杂的,它应该在自己的文件中.如果它很小(例如监听器接口的单个​​函数实现),并且在其他地方重新使用,那么它应该是一个内部类.

实际上重用可能是最重要的标准之一.任何可以重新使用的东西都应该重新使用,并应适当地限定范围.

内部类的一个重要优点是它们可以帮助封装,保持类的内部实现.如果其他类不需要知道你的内部类(或者在某些情况下它们存在),那么这是他们内在的一个很好的理由.

猜你在找的Java相关文章