当类定义时没有说明访问控制方式(即没有写public)时,请问哪里的代码可以访问它?书上说是仅可以被在他的同一包内的其他代码访问。那子类呢?

解决方案 »

  1.   

    还有,他说同一包“内”,那如果有包结构pkg.pkg1.pkg2,pkg包里的类,是不是可以被pkg.pkg1.pkg2包里的类访问?
      

  2.   

    默认的权限是局限于包的
    即所谓的package访问权限只有同一个包内的类中的方法才能访问这个类的属性和方法包外的类即使是子类都不行
      

  3.   

    还有,他说同一包“内”,那如果有包结构pkg.pkg1.pkg2,pkg包里的类,是不是可以被pkg.pkg1.pkg2包里的类访问/////////////////////////////////pkg不是一个包 , pkg.pkg1.pkg2才是一个包
    pkg只是包名的一部分不要被文件系统的结构弄混了
      

  4.   

    pkg不是一个包 , pkg.pkg1.pkg2才是一个包
    pkg只是包名的一部分
    -----------------------------------------
    比如,pkg中有pkg.pkg1.pkg2, pkg.pkg11, pkg.pkg12...,还直接有pkg.class1,pkg.class2...
    那pkg也算包的吧?我刚才问主要是对“包内”的理解,呵呵,比如pkg.pkg1.pkg2.class12与pkg.class1算不算是包内呢?
      

  5.   

    写错了,是:比如pkg.pkg1.pkg2.class12算不算是pkg包内呢?
      

  6.   

    pkg应该也可以算是一个包吧,也可以把类直接写在pkg这个包里面的啊