努力理解Java文件的工作流

努力理解Java文件的工作流,java,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) {

当您有多个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

您被告知,如果java类位于同一个包中,则可以从其他java类访问它们,而无需显式导入它们。没错。但这还不是全部

javac不会尝试访问您没有明确告诉它要访问的java文件。因此,当您尝试使用javac进行编译时,必须在命令行中指定要编译的所有文件,如下所示:javac MyClass.java AnotherClass.java


另外,请注意,java中的惯例是使用大写字母作为类名。

您导入了myNode.java文件吗?请确切地告诉我们您是如何编译myMain.java的。您可能会发现,在包x中的myNode.java会很有帮助吗?谢谢!我只运行了javacmyclass.java。我尝试以您建议的格式运行该命令,但它给出了相同的错误。然后我改变了我的班名,以大写字母开头,这真是太神奇了!