在包中扩展
Extending in a package
在文件夹 .....\testPackage
我有一个文件 Test.java
:
package testPackage;
public class Test {}
和另一个文件 OtherTest.java
:
package testPackage;
public class OtherTest extends Test {}
第二个文件无法编译,因为它找不到 class 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 中 运行 Test
时,我没有得到 Error: Could not find or load main class Test
(我知道,多么原始的权利),但我确实得到 Error: Could not find or load main class Test
的编译错误=19=].
编辑 2:主要问题已经解决,但万一有人想知道,java Test
不起作用的原因是因为它应该是 java testPackage.Test
,并且在父文件夹中testPackage
.
您的问题是包装问题。你是 运行 javac
来自 testPackage
目录,所以你的类路径实际上应该在下面的目录中。这里有两种编译方式(假设你已经编译了Test.java
):
path\testPackage>javac -classpath ".." OtherTest.java
path>javac testPackage\OtherTest.java
有关更多详细信息,这是一篇关于类路径的好文章:http://kevinboone.net/classpath.html
在文件夹 .....\testPackage
我有一个文件 Test.java
:
package testPackage;
public class Test {}
和另一个文件 OtherTest.java
:
package testPackage;
public class OtherTest extends Test {}
第二个文件无法编译,因为它找不到 class 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 中 运行 Test
时,我没有得到 Error: Could not find or load main class Test
(我知道,多么原始的权利),但我确实得到 Error: Could not find or load main class Test
的编译错误=19=].
编辑 2:主要问题已经解决,但万一有人想知道,java Test
不起作用的原因是因为它应该是 java testPackage.Test
,并且在父文件夹中testPackage
.
您的问题是包装问题。你是 运行 javac
来自 testPackage
目录,所以你的类路径实际上应该在下面的目录中。这里有两种编译方式(假设你已经编译了Test.java
):
path\testPackage>javac -classpath ".." OtherTest.java
path>javac testPackage\OtherTest.java
有关更多详细信息,这是一篇关于类路径的好文章:http://kevinboone.net/classpath.html