2016-06-16 16 views
0
//A.java 
public class A 
{ 
    public static void main(String agrs[]) 
    { 
     System.out.println("welcome"); 
     D m2 = new D(); 
     m2.msg(); 
    } 
    } 

class C 
{ 
public void msg() 
{ 
    System.out.println("boss"); 
} 
} 


//B.java 
public class B 
{ 
    public static void main(String agrs[]) 
    { 
     System.out.println("Hiii"); 
     C m1 = new C();; 
     m1.msg(); 
    } 
    } 

class D 
{ 
public void msg() 
{ 
    System.out.println("Scientist"); 
} 
} 

パッケージ内にファイル名がA.javaとB.javaのJavaプログラムを作成しました。 このプログラムを楕円で実行すると、実行されます。 しかし、Linux端末で実行中にエラーが発生します。 このプログラムをlinuxでコンパイルするには?Linux端末でこのプログラムをコンパイルするには?

+1

端末で実行するコマンドは何ですか?エラーは何ですか? – Joe

+0

[madesh @ madeshwaran pack2] $ javac A.java A.java:8:エラー:シンボルが見つかりません \t \t D m2 = new D(); \t \t^ シンボル:クラスD 場所:クラス A.java:8:エラー:見つからないシンボル \t \t DのM2 =新しいD(); \t \t^ シンボル:クラスD 場所:クラス 2エラー[madesh @ madeshwaran PACK2] $のjavacのB.java B.java:7:エラー:シンボル \t \t C M1 =新しいCを(見つけることができません);クラスC 場所:クラスB B.java:7:エラー:^ シンボル\t \tシンボル \t \tをC M1 =新しいC()見つけることができません。 \t \t^ シンボル:クラスC 場所:クラスB 2エラー – madeshwaran18

+0

コンパイル方法を説明するたくさんのJavaチュートリアルがあります。 – m02ph3u5

答えて

1

コンパイルすべて*.javaファイル:

javac A.java B.java 

し、実行クラスmain方法:

java B 
+0

貴重なご意見ありがとうございます! – madeshwaran18

+0

この問題を解決する他の方法はありますか? – madeshwaran18

+0

@ madeshwaran18どうして代わりの方法が必要ですか?この答えが提供するものに何が間違っていますか? – hexafraction

0

ニックSaveniaが正しいです。単一のコマンドで両方のファイルをコンパイルする必要があります。また、同じ.javaファイル内に複数のクラスを配置することはお勧めできません(内部クラスは数えません)。 A、B、C、およびDは、少なくとも保守性を容易にするために、別々のファイルでなければなりません。また、各クラスを独自のファイルに入れると、一度に1つずつコンパイルすることができます。なぜなら、2つのソースファイルが互いに必要な場合、鶏卵問題が発生しないようにする必要があるからです。

関連する問題