【问题标题】:Struggling to understand workflow for Java files [duplicate]努力理解 Java 文件的工作流程 [重复]
【发布时间】:2017-01-18 17:34:15
【问题描述】:

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

【问题讨论】:

  • 您是否导入了myNode.java 文件?
  • 请告诉我们您是如何尝试编译 myMain.java 的。
  • 您可能会觉得这很有帮助stackoverflow.com/questions/880662/…
  • myNode.java 在包 x 中吗?

标签: java


【解决方案1】:

你被告知可以从其他 java 类访问 java 类,如果它们在同一个包中,则无需显式地import 它们。确实如此。但这还不是全部。

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

另外,请注意,java 中的约定是类名的首字母大写。

【讨论】:

  • 谢谢!我一直在运行 javac myClass.java。我尝试以您建议的格式运行该命令,但它给出了相同的错误。然后我将班级名称更改为以大写字母开头,这很神奇!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-23
  • 2011-12-30
  • 2019-08-25
  • 1970-01-01
  • 2015-11-20
  • 1970-01-01
相关资源
最近更新 更多