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