在 Java 文件中包含多个类的目的是什么?我是 Java 的新手。
编辑: 这可以通过在公共类中创建内部类来实现,对吧?
原文由 yesraaj 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 Java 文件中包含多个类的目的是什么?我是 Java 的新手。
编辑: 这可以通过在公共类中创建内部类来实现,对吧?
原文由 yesraaj 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果要实现公共类,则必须在与该类同名的文件中实现它。单个文件可以包含一个公共类和可选的一些私有类。如果这些类仅由公共类在内部使用,这将很有用。此外,公共类还可以包含内部类。
虽然在单个源文件中有一个或多个私有类很好,但我认为使用内部类和匿名类更易读。例如,可以使用匿名类在公共类中定义一个 Comparator 类:
public static Comparator MyComparator = new Comparator() {
public int compare(Object obj, Object anotherObj) {
}
};
Comparator 类通常需要一个单独的文件才能公开。这样它就与使用它的类捆绑在一起。
原文由 kgiannakakis 发布,翻译遵循 CC BY-SA 3.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
是的,它可以。但是,每个
.java
文件只能有一个 公共顶级 类,并且公共顶级类必须与源文件同名。在一个源文件中包含多个类的目的是将相关的支持功能(内部数据结构、支持类等)与主要公共类捆绑在一起。请注意,不这样做总是可以的——唯一的影响是代码的可读性(或不可读性)。