2012-05-30 25 views
2

我有两个类,Parent和Child。对于类的代码是这样的:如何在Java中创建“包”?

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没有任何问题,但我不能编译父类。它说它找不到儿童班。问题是什么?

+8

你在哪里编译这些_from_?你能提供命令行吗?这些对我来说很好看,因为它们是。 –

+0

请参阅http://stackoverflow.com/questions/4800781/how-to-compile-multiple-java-source-files-in-command-line –

+0

CLASSPATH ....着名的类路径...确保包含测试的文件夹在类路径中 –

回答

0

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

因此,如果您将目录更改为d:,则可以执行正确的操作。 javac的测试\ Child.java javac的测试\ Parent.java

的Java test.Parent

你会得到你想要的东西..

+0

现在它编译两个类没有任何问题,但当我尝试“Java测试\父”错误的名称:测试/父! –

+0

它应该是“java test.Parent”。 test.Parent是你父类的名字。 – linuxlsx

+0

谢谢我可以编译它并使用你给我的指令来运行它。现在的问题是我应该如何设置“路径”,所以我不需要每次输入包名称,我想运行该文件? –

0

做的是包括你生成的子类的东西类路径,而你编译父类。

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

以上需要做的事情,因为父类是依赖于子类,不能没有它

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

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

+0

可以请你更具体的如何设置PATH? –

+0

不要篡改PATH只是使用CLASSPATH。 'SET CLASSPATH =(你的child.class存在的路径);%CLASSPATH%;' – MozenRath

+0

当你尝试学习这些基础知识时,请记住多个类通常使用像Ant或'Maven'这样的构建工具进行编译 – MozenRath

0

假设你的java文件在D:\ test中。你喜欢编译这个

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

这将是确定了你。如果你使用有些IDE,你的类都没有问题。

+0

我知道IDE会为我轻松实现,但我想了解它的基本原理。谢谢你的回答。 –