2

我有两个班级,父母和孩子。类的代码是这样的:

父类

package test;
import java.util.*;

public class Parent {
    public static void main(String[] args) {
        Child child = new Child();
    }
}

子类

package test;
import java.util.*;

public class Child {
    public Child() {
        System.out.println("A Child object has been created");
    }
}

我把这两个类都放在一个名为“test”的目录中。我可以编译 Child.java 没有任何问题,但我不能编译父类。它说它找不到子类。问题是什么?

4

3 回答 3

0

我猜你在错误的地方执行命令。如果你把代码放在 d:/test/ 中,你应该在 d:/ 目录下执行你的命令。

因此,如果您将目录更改为 d:,您可以做正确的事情。javac 测试\Child.java javac 测试\Parent.java

java test.父

你会得到你想要的。。

于 2012-05-30T08:58:37.200 回答
0

要做的是在编译父类时将生成的子类包含在类路径中。

SET CLASSPATH= (the path where your child.class exists);%CLASSPATH%;

上面需要做,因为父类依赖子类,没有它就无法编译

一些细节可以在这里找到:

http://docs.oracle.com/javase/tutorial/getStarted/problems/index.html

于 2012-05-30T09:33:20.917 回答
0

假设您的 java 文件位于 D:\test.xml 中。你编译喜欢这样

     D:\>javac test/Child.java
     D:\>javac test/Parent.java

对你来说没问题。如果你使用一些 IDE,你的类没有问题。

于 2012-05-30T09:58:47.517 回答