Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于外部类的Java单文件_Java_Class_Project Structure - Fatal编程技术网

用于外部类的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;

我相信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;
        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.
前缀的情况下使用。我有点喜欢使用前缀来保持分组的明确性,但这仍然非常有用,非常感谢