Java 外部单个文件 类

Java Single File for External Classes

我认为 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";
        }

    }

}

我可以在我的 main 中使用它们,就好像它们都是分开的一样

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 class 中将它们声明为 public static class。 例如

public class Util {
  public static class A {}
  public static class B {}
}

然后在您的主要 class 中,您可以将它们引用为:

new Util.A();

这将帮助您将源代码合并到一个 class 中,但是正如@oleg-cherednik 提到的,编译时会有几个单独的 class 文件。