2016-09-10 35 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

你一直告訴我們可以從其他java類訪問java類,而不必明確地使用它們。import f他們在同一個包裹裏。確實如此。但那不是全部。

javac將不會嘗試訪問您未明確告知其訪問的java文件。因此,當您嘗試使用javac進行編譯時,必須在命令行中指定所有要編譯的文件,如下所示:javac MyClass.java AnotherClass.java

此外,請注意java中的慣例是使用大寫的第一個字母作爲類名。

+0

謝謝!我只運行javac myClass.java。我試着用你建議的格式運行命令,並且它給出了同樣的錯誤。然後,我改變了我的班級名稱,以大寫字母開頭,這就是魔術! – JeanieJ