仍然来自C++我发现创建许多小助手类和对象很麻烦.主要是因为每个班级必须有一个文件.我基本上有这样一个类:
public class mySimpleClass {
public float[] numbers = new float[ 4 ];
}
Run Code Online (Sandbox Code Playgroud)
然后我有这个课:
public class myNotSoSimpleClass {
private mySimpleClass;
.
.
.
}
Run Code Online (Sandbox Code Playgroud)
第二类不是那么简单就可以拥有自己的文件了.但是,简单的类连接到不那么简单的类,并且不必在自己的文件中包含那么少行代码是非常好的.
总而言之,这就是人们在C++中可以做到的事情:
public class myNotSoSimpleClass {
private struct mySimpleClass {
float numbers[ 4 ];
} myStruct;
.
.
.
}
Run Code Online (Sandbox Code Playgroud)
是否可以在另一个类或同一个文件中嵌入/使用一个类?如果我可以将这两个类设置为一个文件,我会发现使用大型项目更容易.或者Java是每个文件严格一个类,就是这样,语言?
Mar*_*ell 16
您可以在同一个文件中有多个类,但只有一个可以是public:
Jay*_*Jay 10
正如其他几个人所指出的,您可以在一个文件中包含任意数量的非公共类.
要回答"为什么",一个可能的因素是它使您的课程很容易找到.如果我在程序中看到Foobar类的引用,我立即知道它必须与当前类在同一个文件中,或者它必须位于名为Foobar.java的文件中.我可以检查导入以查看它所在的目录.
当我使用C或C++程序时,我经常发现自己不得不进行Windows文件搜索或Linux grep来查找类的源代码.
当我编写非常小的程序时,我经常将所有类放在一个文件中.但如果它将超过几千行,那么打破它就更容易管理.
当我有一个仅由另一个类使用的类时,我会经常把它放在同一个文件中.通常这意味着只存在一个类来暂时保存一些小数据,比如我需要一个需要多个字段的数组或列表.
限制是每个文件只能有一个顶级公共类(尽管你可以拥有嵌套的公共类).正如人们所提到的,你可以在该类中拥有内部/嵌套类.
另一件未提及的事情是,您可以在同一个文件中拥有另一个顶级类,只要它是包私有的(仅在包中可见).package-private类是声明没有访问修饰符的类.
| 归档时间: |
|
| 查看次数: |
9900 次 |
| 最近记录: |