簡體   English   中英

編譯並運行此Java程序

[英]Compile and run this java program

如何編譯和運行以下程序:

Test1.java:

package A;

public class Test1
{
    public int a = 1;
}

Test2.java:

package B;

import A.*;

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

我是新手。 如果我使用javac *.java進行javac *.java並手動創建dir A,則將Test1.class復制到其中,然后手動創建dir B,然后將Test2.class復制到其中,然后運行java B.Test2 我確信這不是正確的方法。 請提出建議。

您應該將.java文件保留在與包結構相匹配的目錄結構中

所以Test1.java應該進入目錄A,所以Test2.java應該進入目錄B

您需要將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還不夠,那么您可能需要構建系統。

編譯方式沒有任何問題,雖然很麻煩,但肯定沒有錯。

也就是說,創建一個src目錄來存儲您的.java文件,並使您的目錄結構與類的包結構保持一致。 在這種情況下,您將擁有src目錄,並在其中包含目錄A和目錄B。在A內部放置Test1.java,在B內部放置Test2.java

然后:

javac B/Test2.java

為什么選擇Test2.java? 因為它依賴於A,所以編譯器足夠聰明,可以首先編譯A / Test1.java,然后再編譯B / Test2.java。 此時,您在A和B中都有每個.class文件

要運行它:

java B.Test2

編譯器將創建名為A和B的目錄,並將.class文件放在其中。

您不需要手動將類文件復制到其包目錄中,如果這樣做,則可能無法正常工作。

這不是您問題的直接答案,但是您可能要開始考慮使用IDE(其他建議的螞蟻)。 如果您剛開始,我會推薦jcreator,或者如果您想要一些好的東西,我會推薦Eclipse。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM