Thinking in java学习笔记(四)

第五章 隐藏具体实现
1. 在面向对象的设计中,要考虑的一个基本问题是“如何将变动的事物与保持不变的事物相互隔离”。

2. 名字之间的潜在冲突使得在java中对名字空间 进行完全控制,并能够不受internet 的限制创建唯一的名字就成了非常重要的事情。

3. 包访问权限允许你将包内所有相关的类全部组合起来,以使它们之间可以轻松地相互作用。“只有你拥有的程序代码才可以访问你所拥有的其他程序代码”。

4. 取得某成员的访问权的唯一途径是:○1使该成员成为public;○2通过不加访问修饰词并将其他类放置于同一包内的方式给成员赋予包访问权;○3通过继承,子类可以访问父类的protected权限类型的成员;○4提供访问方法,如getter,setter。

5. 关键字private的意思是:除了包含该成员的类以外,其他任何类都是无法访问这个成员的。

6. Protected:如果你创建了一个新包,并继承来自另一个包中的某个类,那么你唯一可以访问的成员就是源包的public成员(当然如果是在一个包中,那你就可以操纵所有的拥有包访问权限大的成员)。但有时,你希望能够访问其他的成员,这时候protected可以做到这一点。

7. 类既不可以使private的也不可以是protected的(内部类例外)。

8. 如果把构造器定义为private,那么其他人该怎样使用这个类呢?○1创建一个static方法,生成一个新的对象,并返回指向它的一个引用○2一个设计模式“singleton”,不懂……

9. 为什么对访问权限进行控制!?○1为了使用户要要碰触那些他们不应该碰触的工具:工具对于数据类型内部的操作是很有必要的,但是它并不属于用户在解决他们的特定问题时所需接口的一部分;○2为了让程序库设计者可以更改类的内部工作方式,而不必担心这样会对客户端程序员产生多大的影响。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值