Thinking-in-Java 读书笔记-6-访问权限控制
2018-03-16 20:53
239 查看
原文地址
访问控制(或隐藏具体实现)与“最初的实现并不恰当”有关
使用关键字
protected
继承访问权限,通过继承可以利用一个现有类~我们将其称为基类,基类的创建者会希望有某个特定成员,把它的访问权限赋予派生类而不是所有类。
private
除了包含该成员的类之外,其他任何类都无法访问这个成员,等于说是隔离了自己。
第二个原因,也是最重要的原因,是为了让类库设计者可以更改类的内部工作方式,而不必担心这样会对客户端程序产生重大的影响。例如,最初可能会以某一种方式创建一个类,然后发现如果更改程序的内部程序结构,可以大大提高运行速度,如果接口和实现可以明确隔离和加以保护,那么就可以实现这一目的,而不必强制客户端程序员重现编写代码。访问权限控制可以确保不会有任何客户端程序员依赖某个类的底层实现的任何部分。
前言
我还记得第一次面试的时候,就是问public、
protected和
private的区别,当时技术很渣,虽然知道是什么意思,但是表述的不是那么清楚,当时搞得自己很紧张,后面的问题也没有回答的很好。。。
访问控制(或隐藏具体实现)与“最初的实现并不恰当”有关
Java 访问权限修饰词
public使用关键字
public关键字,就意味着
public之后紧跟着的成员声明自己对每个人都是可用的,尤其是使用类库的客户程序员更是如此。
protected
继承访问权限,通过继承可以利用一个现有类~我们将其称为基类,基类的创建者会希望有某个特定成员,把它的访问权限赋予派生类而不是所有类。
protected也提供包访问权限,也就是说,相同包内的其他类也可以访问
protected元素。
private
除了包含该成员的类之外,其他任何类都无法访问这个成员,等于说是隔离了自己。
总结
控制对成员的访问权限与两个方面。第一是为了使用户不要碰触哪些他们不该碰触的地方,这些部分对于类内部的操作是必要的。但是它并不属于客户端程序员所需接口的一部分。因此将方法和域指定成private对客户端程序而言是一种保护服务。因为这样他们可以很清楚地看到什么对他们重要,什么他们是可以忽略的。这样简化了他们对类的理解。
第二个原因,也是最重要的原因,是为了让类库设计者可以更改类的内部工作方式,而不必担心这样会对客户端程序产生重大的影响。例如,最初可能会以某一种方式创建一个类,然后发现如果更改程序的内部程序结构,可以大大提高运行速度,如果接口和实现可以明确隔离和加以保护,那么就可以实现这一目的,而不必强制客户端程序员重现编写代码。访问权限控制可以确保不会有任何客户端程序员依赖某个类的底层实现的任何部分。
相关文章推荐
- thinking in java 笔记 思维导图 第六章 访问权限控制
- 《THING IN JAVA》 6章访问权限控制-读书笔记
- 《Thinkinginjava》第6章-访问权限控制
- 《Thinking in Java》——访问权限控制的两个原因
- 《Thinking in Java》学习笔记-----第6章 访问权限控制
- [think in java] 知识点-访问权限控制
- Think IN JAVA --------JAVA访问权限控制
- Thinking in java 读书笔记(七.2:内部类:闭包和控制框架)
- Java编程思想,读书笔记四(第6章 访问权限控制)
- 《Think in Java》(六)访问权限控制
- 再读thinking in java -- 第六章 访问权限
- 《Thinking in Java》读书笔记之并发(六)
- Java中的访问权限控制
- Thinking in Java 读书笔记 第二章 一切都是对象
- Java基础系列5:访问控制权限
- Think in Java(三):访问权限控制
- thinking in java 读书笔记3
- Thinking in Java 读书笔记 —— 1.Introducation to Object
- Thinking in Java 第9章 违例差错控制 总结
- Java基础--访问权限控制符