一个 java 文件可以有多个类吗?
在 Java 文件中具有多个类的目的是什么?我是Java的新手。
编辑:这可以通过在公共类中创建一个内部类来实现,对吧?
在 Java 文件中具有多个类的目的是什么?我是Java的新手。
编辑:这可以通过在公共类中创建一个内部类来实现,对吧?
是的,可以。但是,每个文件只能有一个公共顶级类,并且公共顶级类必须与源文件具有相同的名称。.java
在一个源文件中包含多个类的目的是将相关的支持功能(内部数据结构,支持类等)与主公共类捆绑在一起。请注意,不这样做总是可以的 - 唯一的影响是代码的可读性(或不可读性)。
如果要实现公共类,则必须在与该类同名的文件中实现它。单个文件可以包含一个公共类和一些私有类(可选)。如果类仅由公共类在内部使用,这将非常有用。此外,公共类还可以包含内部类。
尽管在单个源文件中具有一个或多个私有类是可以的,但我想说的是,使用内部类和匿名类更具可读性。例如,可以使用匿名类在公共类中定义比较器类:
public static Comparator MyComparator = new Comparator() {
public int compare(Object obj, Object anotherObj) {
}
};
比较器类通常需要一个单独的文件才能公开。这样,它就与使用它的类捆绑在一起。