1)Java对象访问控制
有两方面的原因促使我们控制对成员的访问。
第一个原因是防止程序员接触他们不该接触的东西——通常是内部数据类型的设计思想。若只是为了解决特定的问题,用户只需操作接口即可,毋需明白这些信息。
我们向用户提供的实际是一种服务,因为他们很容易就可看出哪些对自己非常重要,以及哪些可忽略不计。
进行访问控制的第二个原因是允许库设计人员修改内部结构,不用担心它会对客户程序员造成什么影响。例如,我们最开始可能设计了一个形式简单的类,以便简化开发。以后又决定进行改写,使其更快地运行。
若接口与实现方法早已隔离开,并分别受到保护,就可放心做到这一点,只要求用户重新链接一下即可。
 
Java 采用三个显式(明确)关键字以及一个隐式(暗示)关键字来设置类边界:
public,private,protected 以及暗示性的friendly。若未明确指定其他关键字,则默认为后者。这些关键字的使用和含义都是相当直观的,它们决定了谁能使用后续的定义内容。
“public”(公共)意味着后续的定义任何人均可使用。而在另一方面,
“private”(私有)意味着除您自己、类型的创建者以及那个类型的内部函数成员,其他任何人都不能访问后续的定义信息。private 在您与客户程序员之间竖起了一堵墙。若有人试图访问私有成员,就会得到一个编译期错误。
“friendly ”(友好的)涉及“包装”或“封装”(Package)的概念——即Java 用来构建库的方法。若某样东西是“友好的”,意味着它只能在这个包装的范围内使用(所以这一访问级别有时也叫作“包装访问”)。
“protected”(受保护的)与“private”相似,只是一个继承的类可访问受保护的成员,但不能访问私有成员。
2)
3)
4)
5)
6)
7)
8)
9)
10)
11)
12)
13)
14)
15)
16)
17)
18)
19)
20)

最新文章

  1. 虚拟机体验之 KVM 篇
  2. RabbitMQ基础知识
  3. 在Eclipse中使用JUnit4进行单元测试(中级篇)
  4. Azure开发者任务之二:Cloud Service项目添加到ASP.Net Web中
  5. 电赛菜鸟营培训(五)——OLED屏幕的使用
  6. apahce
  7. PHP实习生面经--两天四面
  8. Android 开源项目分类汇总
  9. Redis 有序集合(sorted set)
  10. [译]信仰是怎样毁掉程序猿的How religion destroys programmers
  11. Bzoj 3236: [Ahoi2013]作业 莫队,分块
  12. 搭建一个 简易的php版 todolist
  13. Appium的前世今生
  14. CxSkinButton按钮皮肤类
  15. SAP HANA开发中常见问题- 基于SAP HANA平台的多团队产品研发
  16. oracle学习笔记(2)-基本术语
  17. hdu1754 I Hate It (线段树 更新点的值)
  18. Vue 报错[Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders
  19. angular 兼容ie7 bootstrap2兼容ie6
  20. 枚举Enum和常量0之间的恩怨

热门文章

  1. 熟人Dubbo 系列1-Dubbo什么
  2. Java在的时候,类定义HashSet初始化方法
  3. 微软可疑更新DhMachineSvc.exe
  4. 五通信算法:五种编码增益比较matlab模拟
  5. SVN常见错误两项纪录
  6. Eclipse扩展安装插件方式
  7. malloc,free简单的实现
  8. SAE+Java+jetty
  9. 用Markdown来写作
  10. linux_之sed用法