C.W.WANG的博客

我的Java学习笔记

Thinking in Java - 学习笔记 - (六)访问权限控制

Java编程思想 - 第六章 - 访问权限控制

访问控制(或隐藏具体实现)与“最初的实现并不恰当”有关。

面向对象设计中需要考虑的基本问题:“如何把变动的事物与保持不变的事物区分开来”。这对类库(library)而言尤为重要。

为了解决这一问题,Java提供了访问权限修饰词,以供类库开发人员向客户端程序员指明哪些是可用的,哪些是不可用的。访问控制的等级,从最大到最小权限依次为:publicprotected、包访问权限(没有关键词)和private

包:库单元

包内包含一组类,它们在单一的名字空间之下被组织在了一起。

Java访问权限修饰词

取得对某成员的访问权的唯一途径是:

  1. 使该成员成为public

  2. 不加访问权限修饰词并将其他类放置于同一个包内的方式给成员赋予包访问权。

  3. 继承,可访问publicprotected成员(但访问private成员却不行)。

  4. 提供访问器(accessor)和变异器(mutator)方法(也称作get/set方法)。

private的使用很重要,在多线程环境下更是如此。

如果默认构造器是唯一定义的构造器,并且它是private的,那么它将阻碍对此类的继承。

接口和实现

访问权限的控制常被称为是具体实现的隐藏。把数据和方法包装进类中,以及具体实现的隐藏,常共同被称作是封装

总结

控制对成员的访问权限有两个原因:

  • 为了使用户不要碰触那些他们不该碰触的部分,这些部分对于类内部的操作是必要的,但是它并不属于客户端程序员所需接口的一部分。
  • 最重要的原因,是为了让类库设计者可以更改类的内部工作方式,而不必担心这样会对客户端程序员产生重大的影响。
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/WANG_Chaunwang/article/details/79947951
上一篇排序算法
下一篇Thinking in Java - 学习笔记 - (七)复用类
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭