扩展包

时间:2015-01-29 23:18:06

标签: java package extends

.....\testPackage文件夹中,我有一个文件Test.java

package testPackage;
public class Test {}

和另一个文件OtherTest.java

package testPackage;
public class OtherTest extends Test {}

第二个文件无法编译,因为找不到类Test。我做错了什么?

编辑:

path\testPackage>javac Test.java

path\testPackage>java Test
Error: Could not find or load main class Test

path\testPackage>javac OtherTest.java
OtherTest.java:2: error: cannot find symbol
public class OtherTest extends Test {}
                               ^
  symbol: class Test
1 error

奇怪的是,当我在TextPad中运行Error: Could not find or load main class Test时我没有得到Test(我知道,这是多么原始),但我确实得到OtherTest的编译错误。 / p>

编辑2:主要问题已经解决,但是如果有其他人想知道,java Test不起作用的原因是因为它应该是java testPackage.Test,并且在{的父文件夹中{1}}。

1 个答案:

答案 0 :(得分:1)

您的问题是由于包装造成的。您从javac目录运行testPackage,因此您的类路径实际上应位于以下目录中。以下是您可以编译的两种方法(假设您已编译Test.java):

path\testPackage>javac -classpath ".." OtherTest.java

path>javac testPackage\OtherTest.java

有关详细信息,请参阅这篇关于类路径的好文章:http://kevinboone.net/classpath.html