用于外部类的Java单文件
我相信Java的方法是将外部类保存在单独的文件中。因此,我最终得到了如下目录结构用于外部类的Java单文件,java,class,project-structure,Java,Class,Project Structure,我相信Java的方法是将外部类保存在单独的文件中。因此,我最终得到了如下目录结构 /main/main.java /main/libs/class01.java /main/libs/class02.java /main/libs/class03.java using System; using System.Data; namespace allClasses { public class class01 { public Integer idno;
/main/main.java
/main/libs/class01.java
/main/libs/class02.java
/main/libs/class03.java
using System;
using System.Data;
namespace allClasses {
public class class01 {
public Integer idno;
public String name;
public class01() {}
idno = 1;
name = "First";
}
}
public class class02 {
public Integer idno;
public String name;
public class02() {}
idno = 2;
name = "Second";
}
}
public class class03 {
public Integer idno;
public String name;
public class03() {}
idno = 2;
name = "Third";
}
}
}
这很好,但是有些类实际上是微不足道的小东西,例如,如果所有的类都是
package libs;
import java.util.*;
public class class01 {
public Integer idno;
public String name;
public class01() {}
idno = 1;
name = "First";
}
}
然后,单独的文件看起来可能会有点过多。我想知道是否有一种方法可以将它们合并到一个文件中,就像在.NETC#中使用如下名称空间所做的那样
/main/main.java
/main/libs/class01.java
/main/libs/class02.java
/main/libs/class03.java
using System;
using System.Data;
namespace allClasses {
public class class01 {
public Integer idno;
public String name;
public class01() {}
idno = 1;
name = "First";
}
}
public class class02 {
public Integer idno;
public String name;
public class02() {}
idno = 2;
name = "Second";
}
}
public class class03 {
public Integer idno;
public String name;
public class03() {}
idno = 2;
name = "Third";
}
}
}
我可以在我的主要部分使用它,就好像它们都是分开的一样
using System;
using allClasses;
namespace main_module {
class main {
static void Main(string[] args) {
class01 newClass01 = new class01();
class02 newClass02 = new class02();
class03 newClass03 = new class03();
}
}
}
我很抱歉将两者进行比较,只是.NETC#是我所能展示的最好的例子,说明了我正在努力实现的目标。我还不知道如何在Java中实现这一点,非常感谢您提供一些指导您可以在另一个公共类中将它们声明为
公共静态类
。
例如
然后,在主类中,您可以将它们引用为:
new Util.A();
这将帮助您将源代码合并到单个类中,但正如@oleg cherednik所提到的,编译时将有几个单独的类文件。这正是我所希望的。编译器对它们进行拆分很好,但这有助于保持源代码的整洁。忘记提及-您甚至可以在主类中使用静态导入,这样静态类就可以在不使用
Util.
前缀的情况下使用。我有点喜欢使用前缀来保持分组的明确性,但这仍然非常有用,非常感谢