Java面向对象编程之Java语言中的修饰符

  近日,读了孙卫琴老师的《Java面向对象编程》一书,心中颇有些感悟,想着将其记录下来。

  Java中的修饰符

  在Java语言中,有这样一些单词(说得再准确点儿,应该是形容词):abstract(抽象的)、static(静态的)、public(公共的)、protected(受保护的)、private(私有的)、synchronized(同步的)、native(本地的)、transient(暂时的)、volatile(易失的)和final(不可改变的),它们被成为修饰符,这些修饰符可以修饰类、变量和方法。灵活、正确地运用这些修饰符,会使我们的软件程序更贴切地模拟真实世界中的系统,并且有助于提高软件系统的可复用性、可维护性、可扩展性和系统的运行性能。


 

  Java中的修饰符的作用域

  •   abstract:类、成员方法
  •   static:成员方法、成员变量
  •   public:类、成员方法、构造方法、成员变量
  •   protected:成员方法、构造方法、成员变量
  •   private:成员方法、构造方法、成员变量
  •   synchronized:成员方法
  •   native:成员方法
  •   transient:成员变量
  •   volatile:成员变量
  •   final:类、成员方法、成员变量、局部变量

  上面所提到的类仅限于顶层类(Top Level Class),而不包括内部类(定义在类或方法中的类)。从上面列出的一系列作用域可以看出,局部变量只能用final修饰,修饰顶层类的修饰符包括:abstract、public以及final,static、protected和private不能修饰顶层类。


  访问控制修饰符

  面向对象的基本思想之一是封装实现细节并且公开接口。Java语言采用访问控制修饰符来控制类,以及类的方法和变量的访问权限,从而向使用者只暴露接口,但能隐藏实现细节。访问控制分4种级别:

  •   公开级别:用public修饰,对外公开。
  •       受保护级别:用protected修饰,向子类及同一个包中的类公开。
  •       默认级别:没有访问修饰符,向同一个包中的类公开。
  •       私有级别:用private修饰,只有类本身可以访问,不对外公开。

  访问级别仅仅适用于类及类的成员,而不适用于局部变量。局部变量只能在方法内部被访问,不能用private、protected或public来修饰  

posted @ 2017-07-29 10:42  noob_coder  阅读(215)  评论(0编辑  收藏  举报