有关Java的更多信息无法在同一目录中找到.class中的符号

时间:2014-11-11 04:14:22

标签: java compiler-errors javac identifier

我定义了2个java文件:Phone2.java和TestPhone2.java。 Phone2.java编译得很好,并放在一个名为classes的包中。 TestPhone2应该创建一个Phone2的实例,但我不能让TestPhone2.java进行编译。以下是我的目录结构:

这两个java文件位于此处 -

enter image description here

Phone2.class位于包classes -

enter image description here

我的classpath设置为c:\ myJavaProject。

java文件包含一些来自Mala Gupta的简单代码,用于测试实例和局部变量。以下是代码:

package classes;
class Phone2 {
    String phoneNumber = "123456789";
    void setNumber () {
        String phoneNumber;
        phoneNumber = "987654321";
    }
}


package classes;
class TestPhone2 {
    public static void main (String[] args) {
        Phone2 p1 = new Phone2();
        p1.setNumber();
        System.out.println(p1.phoneNumber);
    }
}

我不清楚为什么TestPhone2.java无法编译。我查看了有关此类错误(herehere)的一些stackoverflow帖子,但这些帖子似乎没有直接关联。其中一个帖子涉及static方法,另一个帖子处理来自importpackage语句的错误。我认为我的包语句中没有错误,因为我在帖子here中使用了类似的包语句,并且没有问题。

以下是我的确切按键。

enter image description here

感谢您的反馈。

1 个答案:

答案 0 :(得分:1)

你有一个包裹。所以你必须指定类路径。一种方法是使用包含顶级包(c:\myJavaProject\tint31\)的文件夹,如

set CLASSPATH=c:\myJavaProject\tint31\
javac -d . TestPhone2.java

或者您可以使用-classpath之类的

javac -d . -classpath c:\myJavaProject\tint31\ TestPhone2.java