今天编译thinking in java 的习题时遇到个小问题。
目录 ./thinking in java/access
Cookie.java
package access.cookie2;
public class Cookie {
public Cookie() {
System.out.println("Cookie contstructor");
}
protected void bite() { System.out.println("bite"); }
}
CookieThief.java
import access.cookie2.*;
public class CookieThief {
public static void main(String[] args) {
access.cookie2.Cookie x = new access.cookie2.Cookie();
//! x.bite(); // access protected
}
}
命令行下执行:
javac -d %cfile% Cookie.java // cfile是我设置的classpath
成功
javac -d %cfile% CookieThief.java
错误的类文件: ./Cookie.java
文件不包含类 Cookie
请删除该文件或确保该文件位于正确的类路径子目录中。
Cookie x = new Cookie();
分析:当查找Cookie时首先从 . 开始查找,发现 . 目录下存在Cookie.java 但是其并非字节码文件,报错
(忽略了后缀)。改正方法是将类的路径写完整。
请删除该文件或确保该文件位于正确的类路径子目录中
最新推荐文章于 2023-08-16 15:07:37 发布