【问题标题】:User defined packages in JavaJava中的用户定义包
【发布时间】:2015-08-25 06:17:48
【问题描述】:

我一直在使用 NppExec 在 Notepad++ 中编辑、运行和编译代码。我在 C:\Java 设置了一个类路径。此文件夹包含:C:\Java\com\DOMAINNAMEWITHHELD\Classes。在这个文件夹中,我有 3 个 .java 文件和一个 .class 文件(Runner.java、Pirate.java、Ninja.java 和 Pirate.class)。我在闪存驱动器上的一个文件夹中运行这些文件,三个都看不到对方。所以我把它们移到了我的新类路径定义的目录中,除了:

C:\Java\com\DOMAINNAMEWITHHELD\Classes\Runner.java:12:错误:找不到符号 phil.throwAStar(tim);

throwAStar() 在 Ninja 中定义,并在 Runner 中调用。

在三个源文件中,我定义了一个这样的包:

包 com.DOMAINNAMEWITHHELD.Classes;

如果我在任何其他目录中,请尝试:

导入 com.DOMAINNAMEWITHHELD.Classes.*;

我得到完全相同的错误。我做错了什么?

【问题讨论】:

  • C:\Java\com\DOMAINNAMEWITHHELD\Classes编译运行时是否出现错误?我的意思是移动到目录,编译并运行。
  • 我可以很好地编译 Pirate,但它没有引用 Runner 或 Ninja。 Ninja 引用 Pirate,Runner 引用两者。是的,菲尔是忍者。他在 Runner 中是这样创建的:Ninja phil= new Ninja();这调用了一个公共字符串 setName(): public String setName(){ System.out.println("你想让你的忍者起什么名字?");字符串 n=scanner.nextLine();返回 n;

标签: java classpath packages cannot-find-symbol


【解决方案1】:

所以,一旦我从故障排除中清除了一些语法错误,并尝试跟上课程进度,我终于得到了 Runner、Ninja、Pirate 和现在的 Wizard 来编译和运行。如果你们想知道如何运行包中包含的 .class 文件:

假设文件是​​:C:\Java\com\DOMAINWITHHELD\classes\Runner.class

在命令提示符中键入以运行 Runner:

cd C:\Java

java com.DOMAINWITHHELD.classes.Runner

现在应该执行包“com.DOMAINWITHHELD.classes”中的类“Runner”。

【讨论】:

    猜你喜欢
    • 2014-01-21
    • 2018-09-28
    • 2012-01-08
    • 1970-01-01
    • 1970-01-01
    • 2014-06-03
    • 1970-01-01
    • 1970-01-01
    • 2017-03-13
    相关资源
    最近更新 更多