首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于包访问权限的有关问题

2012-08-09 
关于包访问权限的问题本人最近再看Thinking in java的“访问权限控制”这一章,里面有个例子是这样的://Cooki

关于包访问权限的问题
本人最近再看Thinking in java的“访问权限控制”这一章,里面有个例子是这样的:
//Cookie.java
package cookie2;
public class Cookie {
  public Cookie() {
  System.out.println("Cookie constructor");
  }
  protected void bite() {
  System.out.println("bite");
  }
}

//ChocolateChip2.java
import cookie2.*;

public class ChocolateChip2 extends Cookie {
  public ChocolateChip2() {
  System.out.println("ChocolateChip2 constructor");
  }
  public void chomp() {bite(); } //报错,提示没有bite()方法
  public static void main(String[] args) {
  ChocolateChip2 x = new ChocolateChip2();
  x.chomp();
  }
}
而如果把import语句写成import cookie2.Cookie则正常。难道这两者有区别吗?
注意:ChocolateChip2.java所在包下面没有定义Cookie类




[解决办法]
Cookie2.java在access\cookie2目录下,ChocolateChip2.java在access目录下这种目录下
package cookie2;引入肯定会有问题,应该为import cookie2.*改成import cookie2.Cookie。
如果Cookie2.java在access\cookie2目录下,而ChocolateChip2.java在access\..目录下,或者ChocolateChip2.java在不在access目录或子目录下都不会出现问题。

热点排行