我定义了2个java文件:Phone2.java和TestPhone2.java。 Phone2.java编译得很好,并放在一个名为classes的包中。 TestPhone2应该创建一个Phone2的实例,但我不能让TestPhone2.java进行编译。以下是我的目录结构:
这两个java文件位于此处 -
Phone2.class位于包classes
-
我的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无法编译。我查看了有关此类错误(here和here)的一些stackoverflow帖子,但这些帖子似乎没有直接关联。其中一个帖子涉及static
方法,另一个帖子处理来自import
或package
语句的错误。我认为我的包语句中没有错误,因为我在帖子here中使用了类似的包语句,并且没有问题。
以下是我的确切按键。
感谢您的反馈。
答案 0 :(得分:1)
你有一个包裹。所以你必须指定类路径。一种方法是使用包含顶级包(c:\myJavaProject\tint31\
)的文件夹,如
set CLASSPATH=c:\myJavaProject\tint31\
javac -d . TestPhone2.java
或者您可以使用-classpath
之类的
javac -d . -classpath c:\myJavaProject\tint31\ TestPhone2.java