有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

编译并运行这个java程序

如何编译和运行以下程序:

测试1。爪哇:

package A;

public class Test1
{
    public int a = 1;
}

测试2。爪哇:

package B;

import A.*;

public class Test2
{
    public static void main(String [] args)
    {
        Test1 obj = new Test1();
        System.out.println(obj.a);
    }
}

我是个新手。 如果我使用javac *.java编译 并手动创建dira,复制Test1。类并手动创建dir B并复制Test2。类,然后运行java B.Test2它可以工作。我肯定这不是正确的做法。请建议


共 (5) 个答案

  1. # 1 楼答案

    你应该保持冷静。目录结构中的java文件与包结构匹配

    所以测试1。java应该放在目录A中 所以测试2。java应该放在目录B中

  2. # 2 楼答案

    您需要将java文件保存在正确的目录结构中:

    A/Test1.java
    B/Test2.java
    

    通常只调用主类上的javac就足够了,因为所有依赖项都将自动处理。在我说javac B/Test2.java之后,它看起来是这样的:

    A/Test1.class
    A/Test1.java
    B/Test2.class
    B/Test2.java
    

    我可以用java B.Test2运行这个程序

    如果仅仅在主类上运行javac是不够的,那么您可能需要一个构建系统

  3. # 3 楼答案

    编译的方式没有问题,只是很麻烦,但肯定没有错

    也就是说,创建一个src目录来存储您的。java文件,使目录结构与类的包结构保持一致。在本例中,您将有src目录,其中有目录A和目录B。java和内部B放置Test2。爪哇

    然后:

    javac B/Test2.java
    

    为什么是Test2。JAVA因为它依赖于A,所以编译器足够聪明,可以首先编译A/Test1。java,然后是B/Test2。JAVA在这一点上,你有每一个。在A和B中分类文件

    要运行它,请执行以下操作:

    java B.Test2
    
  4. # 4 楼答案

    这不是对您问题的直接回答,但您可能希望开始考虑使用IDE(其他人建议使用ant)。如果您刚刚起步,我会推荐jcreator,如果您想要一些好东西,我会推荐Eclipse

  5. # 5 楼答案

    编译器将创建名为A和B的目录,并放置。类中的文件

    您不需要手动将类文件复制到它们的包目录中,如果这样做,它可能无法工作