JAVA 访问权限修饰词理解

JAVA 访问权限修饰词理解

Java语言中有4种访问修饰符从最大权限到最小权限依次为:public、protected、包访问权限(没有关键词or package)和private,他们在使用时是置于类中每个成员的定义之前,无论它是一个域还是一个方法。每个访问权限修饰词仅控制它所修饰的特定定义的访问权。
Public:接口访问权限
使用关键字public,就意味着public之后紧跟着的成员声明自己对每个人都是可用的,此修饰符用于暴露域和方法,在类定义的包外部能访问它们。对包和类中必要的接口元素,也需要使用这个修饰符;main()方法和toString()方法必须是public的,一般不会用public暴露一个域,除非这个域已经被声明为final。(跨包访问)
Protected:继承访问权限
关键字protected处理的是继承的概念,通过继承可利用一个现有类(基类),将新成员添加到该现有类中而不必碰该现有类。为了从现有类中继承,需要声明新类extends(扩展)了一个现有类,如:
Class Student extends People{
修饰符提供一个从包外部访问包(有限制)的方法。在域和方法前增加protected修饰符不会影响同一个包内其他类和方法对它们的访问。要从包外部访问包(其中含有protected成员的类),必须保证被访问的类是带有protected成员类的子类。如果希望包中的一个类被包之外的类继承重用时,就要使用这个修饰符。
Package:包访问权限
这是默认的保护模式,又叫做包访问,没有任何修饰符时就采用这种保护模式。包访问允许域和方法被同一个包内任何类的任何方法访问。
Private:你无法访问
此关键字是私有的,指除了包含该成员的类之外,其他任何类都无法访问这个成员,即私有的域和方法只能被同一个类中的其他方法访问,实现了数据隐藏,如果那些成员想要明确公开给客户端使用,就必须将他们声明为Public。
采用表格总结

                   当前类          同一个包            子类              其他包 
   public           √                 √                √                  √ 
   protected        √                 √                √                  × 
   package          √                 √                ×                  × 
   private          √                 ×                ×                  × 

你可能感兴趣的:(JAVA 访问权限修饰词理解)