2016-09-10 5 views
-1

複数のJavaファイルがある場合のワークフローを理解するのが苦労しています。Javaファイルのワークフローを理解するのに苦労している

myNode.java:

package x; 
class myNode { 
    private myNode next = null; 
    private int d; 
    myNode(int d) { 
     this.d = d; 
    } 
    void append(int d) { 
     myNode curr = this; 
     while (curr.next != null) { 
      curr = curr.next; 
     } 
     curr.next = new myNode(d); 
    } 
} 

myMain.java:

package x; 
class myMain { 
    public static void main() { 
     myNode x = new myNode(1); 
     x.append(2); 
    } 
} 

私はあなたがされているmyMain.java

error: cannot find symbol 
     myNode x = new myNode(1); 
     ^
    symbol: class myNode 
    location: class myMain 
+0

あなたは 'myNode.java'ファイルをインポートしましたか? –

+1

myMain.javaのコンパイル方法を正確に教えてください。 –

+1

あなたはこのパッケージが役に立つでしょうか?http://stackoverflow.com/questions/880662/include-one-java-file-in-another-java-file –

答えて

2

をコンパイルしようとすると、次のエラーメッセージが表示されます明示的にimportを使わなくても、javaクラスは他のJavaクラスからアクセスできると言いました彼らは同じパッケージに入っています。それは本当だ。しかしそれだけではありません。

javacは、明示的にアクセスするように指定していないjavaファイルにアクセスしようとしません。したがって、javacでコンパイルしようとすると、コンパイルするすべてのファイルをコマンドラインで指定する必要があります(例:javac MyClass.java AnotherClass.java)。

また、Javaの規約ではクラス名に大文字を使用することに注意してください。

+0

ありがとう!私はjavac myClass.javaだけを実行しています。あなたが提案したフォーマットでコマンドを実行しようとしましたが、同じエラーが発生していました。そして、クラス名を大文字で始めるように変更しました。それが魔法でした! – JeanieJ

関連する問題