两个类:
=======================================
package aa.bb.cc.dd;
public class Impl extends Base{
}
=======================================
package aa.bb.cc;
public class Base{
}
=======================================我想做到,只有 aa.bb.cc路经下(包括子目录)的类才可以继承 base
如何实现?比如 package aa.dd.ee 下的类就不能继承cc下的Base类.我尝试这样做
=======================================
package aa.bb.cc;
protected class Base{
}

class Base{
}
=======================================都不行..

解决方案 »

  1.   

    类的访问限定符就两种,public、friendly。你问的问题,我也想知道答案,帮你顶!!!
      

  2.   

    改成package scope 还有点合你意, 不过把他们放在一个package里。
      

  3.   

    LS提醒,好像你可以把base改成private,然后把impl改成它的friend,好像可以。
      

  4.   

    只能存在于一个package才可以
    在java中,对于package aa.bb.cc.dd  和package xx.zz.yy  
    访问权限对于 aa.bb下的类是相同的? 是吗?
      

  5.   

     “在java中,对于package aa.bb.cc.dd  和package xx.zz.yy   访问权限对于 aa.bb下的类是相同的? 是吗? “
              --能不能说说具体点?
      

  6.   

    aa.bb.Base类我无论对这个Base类做什么修饰设定
    对与aa.bb.cc.dd.Sub 类

    zz.xx.yy.Sub类两个类来说,防御权限都一样的?
    包下的子包和非子包来说没区别?
      

  7.   

    只能限制同一个包中可以继承,就是使用默认的访问控制符,这样不是同一个包下的其他类就不能访问这个类,比如 package aa.dd.ee 下的类就不能继承cc下的Base类. ,这个是不可能解决的