我仍然来自C++,我发现创建许多小的助手类和对象很麻烦。主要是因为我每个类必须有一个文件。我基本上有一个这样的类:
public class mySimpleClass {
public float[] numbers = new float[ 4 ];
}
然后我有这样一个类:
public class myNotSoSimpleClass {
private mySimpleClass;
.
.
.
}
第二个类并不是那么简单,在它自己的文件中是可以的。然而,简单的类被连接到不那么简单的类,如果不需要在它自己的文件中有这几行代码,那就太好了。
综上所述,这就是在C++中可以做的事情:
public class myNotSoSimpleClass {
private struct mySimpleClass {
float numbers[ 4 ];
} myStruct;
.
.
.
}
是否可以在另一个类或同一文件中嵌入/使用一个类?如果我可以将这两个类设置到一个文件中,我会发现处理大型项目会更容易。或者Java是严格的每个文件一个类,仅此而已,语言?
发布于 2010-11-10 14:05:46
一个类可以包含在另一个类中。在Java语言中,它被称为inner class
发布于 2010-11-10 14:08:23
在同一个文件中可以有多个类,但其中只能有一个是public
类
发布于 2010-11-10 14:45:40
正如其他几个人所指出的那样,您可以在单个文件中包含任意数量的非公共类。
要回答“为什么”,一个可能的因素是它使你的类很容易找到。如果我在程序中看到对类Foobar的引用,我立即知道它必须与当前类位于同一文件中,或者位于名为Foobar.java的文件中。我可以检查导入,看看它在哪个目录中。
当我在C或C++程序上工作时,我经常发现自己必须进行Windows文件搜索或Linux grep来查找类的源代码。
当我编写非常小的程序时,我经常把所有的类放在一个文件中。但是,如果它要超过几千行,那么将其拆分出来要容易得多。
当我有一个只被另一个类使用的类时,我通常会把它放在同一个文件中。通常,这意味着一个类只是为了临时保存一些小数据束,就像我需要一个需要多个字段的数组或列表。
https://stackoverflow.com/questions/4145284
复制