一个java文件可以有多个类吗?

新手上路,请多包涵

在 Java 文件中包含多个类的目的是什么?我是 Java 的新手。

编辑: 这可以通过在公共类中创建内部类来实现,对吧?

原文由 yesraaj 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 528
2 个回答

是的,它可以。但是,每个 .java 文件只能有一个 公共顶级 类,并且公共顶级类必须与源文件同名。

在一个源文件中包含多个类的目的是将相关的支持功能(内部数据结构、支持类等)与主要公共类捆绑在一起。请注意,不这样做总是可以的——唯一的影响是代码的可读性(或不可读性)。

原文由 Sean Reilly 发布,翻译遵循 CC BY-SA 3.0 许可协议

如果要实现公共类,则必须在与该类同名的文件中实现它。单个文件可以包含一个公共类和可选的一些私有类。如果这些类仅由公共类在内部使用,这将很有用。此外,公共类还可以包含内部类。

虽然在单个源文件中有一个或多个私有类很好,但我认为使用内部类和匿名类更易读。例如,可以使用匿名类在公共类中定义一个 Comparator 类:

   public static Comparator MyComparator = new Comparator() {
    public int compare(Object obj, Object anotherObj) {

    }
  };

Comparator 类通常需要一个单独的文件才能公开。这样它就与使用它的类捆绑在一起。

原文由 kgiannakakis 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题