如果一个成员变量前没有使用任何访问控制符,就称这个成员是默认的(default),或是友元的(default),或是包类型的(package)。对于默认访问控制成员,可以被这个包中的其他类访问,如果一个子类与父类位于不同的包中,子类也不能访问父类的默认访问控制成员。

解决方案 »

  1.   

    访问控制的四个级别:public > protected > default > private
      

  2.   

    没有声明的时候是protected(friendly).同一个包中其他类可以调用
      

  3.   

    借用 Dan1980(String someGoodAdvices) public > protected > default > private
    没有写就是default,这样同一个包中suoyou 类都可以调用
      

  4.   

    我记得是friendly,但java中好像没有这个关键字
      

  5.   

    没有声明的时候是protected .同一个包中其他类可以调用,别的包中的类访问不到这个成员变量
      

  6.   

    Java采用三个显式(明确)关键字以及一个隐式(暗示)关键字来设置类边界:public,private,protected以及暗示性的friendly。若未明确指定其他关键字,则默认为后者。这些关键字的使用和含义都是相当直观的,它们决定了谁能使用后续的定义内容。“public”(公共)意味着后续的定义任何人均可使用。而在另一方面,“private”(私有)意味着除您自己、类型的创建者以及那个类型的内部函数成员,其他任何人都不能访问后续的定义信息。private在您与客户程序员之间竖起了一堵墙。若有人试图访问私有成员,就会得到一个编译期错误。“friendly”(友好的)涉及“包装”或“封装”(Package)的概念——即Java用来构建库的方法。若某样东西是“友好的”,意味着它只能在这个包装的范围内使用(所以这一访问级别有时也叫作“包装访问”)。“protected”(受保护的)与“private”相似,只是一个继承的类可访问受保护的成员,但不能访问私有成员。