我有两个班,父母和孩子。类的代码是这样的:
Parent.class
package test;
import java.util.*;
public class Parent {
public static void main(String[] args) {
Child child = new Child();
}
}
Child.class
package test;
import java.util.*;
public class Child {
public Child() {
System.out.println("A Child object has been created");
}
}
我将这两个类放在名为“test”的目录中。我可以编译Child.java没有任何问题,但我不能编译父类。它说它无法找到子类。有什么问题?
答案 0 :(得分:0)
我猜你在错误的地方执行命令。如果你把代码放在d:/ test /中,你应该 在目录d:/下执行命令。
因此,如果将目录更改为d:,则可以执行正确的操作。 javac test \ Child.java javac test \ Parent.java
java test.Parent
你会得到你想要的......
答案 1 :(得分:0)
要做的是在编译父类时将生成的子类包含在类路径中。
SET CLASSPATH= (the path where your child.class exists);%CLASSPATH%;
上面需要完成,因为父类依赖于子类,没有它就无法编译
可以在这里找到一些细节:
http://docs.oracle.com/javase/tutorial/getStarted/problems/index.html
答案 2 :(得分:0)
假设您的java文件位于D:\ test中。你编译喜欢这个
D:\>javac test/Child.java
D:\>javac test/Parent.java
对你来说没关系。如果你使用了一些IDE,那么你的课程没有问题。