关于java编程思想第三版中的例子编译问题
c03中的,代码如下:
[code="java"]
//: com:bruceeckel:simpletest:NumOfLinesException.java
// From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002
// www.BruceEckel.com. See copyright notice in CopyRight.txt.
package com.bruceeckel.simpletest;
public class NumOfLinesException extends SimpleTestException {
public NumOfLinesException(int exp, int out) {
super("Number of lines of output and "
+ "expected output did not match.
" +
"expected: <" + exp + ">
" +
"output: <" + out + "> lines)");
}
} ///:~
[/code]
同目录下已经有SimpleTestException.java和SimpleTestException.class,
可编译还是报错 。
报错信息如下 :
E:work_alljavajava_sam3rdcomruceeckelsimpletest>javac NumOfLinesException.java
NumOfLinesException.java:7: cannot find symbol
symbol: class SimpleTestException
extends SimpleTestException {
^
1 error
有人遇到过这样的情况吗 ?
SimpleTestException.class 应该放在 你当前编译的那个目录 的 \com\bruceeckel\simpletest目录下.
也就是:
E:work_alljavajava_sam3rdcomruceeckelsimpletest\com\bruceeckel\simpletest\SimpleTestException.class
NumOfLinesException.java可以放在当前目录上,也就是:
E:work_alljavajava_sam3rdcomruceeckelsimpletest\NumOfLinesException.java
上面的是针对这一的目录结构:
E:\work_alljavajava_sam3rd\com\bruceeckel\simpletest
|-SimpleTestException.class
E:\work_alljavajava_sam3rd
|-NumOfLinesException.java
你的目录结构应该是这样的:
E:\work_alljavajava_sam3rd\com\bruceeckel\simpletest
|-SimpleTestException.class
|-NumOfLinesException.java
那你的cmd的路径应该是:
E:\work_alljavajava_sam3rd
命令是:
javac E:\work_alljavajava_sam3rd\com\bruceeckel\simpletest\NumOfLinesException.java
你会发现在 E:\work_alljavajava_sam3rd\com\bruceeckel\simpletest下生成了NumOfLinesException.class