请删除该文件或确保该文件位于正确的类路径子目录中

搞惯了C#,这几天初学java,诸多不习惯。Java里面还是保留了很多C++的旧语法,比如switch不能应用于String类型,比如switch中的case如果没有break就会一直往下执行,等等。最不习惯的是java将包、类与文件夹严格对应这一点。这不,今天就遇到一个问题,郁闷了半天。

有两个类ClassFather和ClassChild,其中ClassFather位于包hh.Card下,而ClassChild则属于默认包,我直接使用javac ClassFather.java在当前目录编译好ClassFather类以后将ClassFather.class文件手工copy至hh\Card目录下,然后编译ClassChild.java文件,结果遇上了如下错误:

 

无法访问CardFather

错误的类文件: .\CardFather.java

文件不包含类: CardFather

请删除该文件或确保该文件位于正确的类路径子目录中。

 

将CardFather.java复制到hh\Card后编译通过。删除该目录下的CardFather.java文件(保留ClassFather.class)后编译又失败,见鬼了!

 

郁闷了半天,把手上这本java书籍的包和类的部分反复看了几遍,就是不知道错在哪里。后来尝试将当前目录的CardFather.java文件删除掉,编译又成功了。看起来,引用其他包中的类时,被引用类的源文件要么没有,要么处在正确的路径上才行,就是不能放在当前路径。

posted @ 2010-02-17 22:19  Bryan Wong  阅读(8869)  评论(2编辑  收藏  举报