问题描述
我相信Java的方法是将外部类保留在单独的文件中。因此,我最终得到了类似于以下的目录结构
/main/main.java
/main/libs/class01.java
/main/libs/class02.java
/main/libs/class03.java
那会很好,但是某些类确实是微不足道的小东西,例如,如果所有类都只是
package libs;
import java.util.*;
public class class01 {
public Integer idno;
public String name;
public class01() {}
idno = 1;
name = "First";
}
}
然后,单独的文件似乎会变得过多。我想知道是否有一种方法可以将它们组合成一个文件,类似于在.Net C#中使用类似以下名称空间的方法
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();
}
}
}
我很抱歉将两者进行比较,因为.Net C#是我可以展示自己想要达到的目标的最佳示例。我还不知道使用Java可以做到这一点的方法,非常感谢一些指导
解决方法
您可以在另一个公共类中将它们声明为public static class
。
例如
public class Util {
public static class A {}
public static class B {}
}
然后在您的主类中,您可以将它们引用为:
new Util.A();
这将帮助您将源代码组合到一个类中,但是正如@ oleg-cherednik所提到的,编译时将有几个单独的类文件。