`
abcxo
  • 浏览: 32318 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

thinking in java 学习笔记6 访问控制

阅读更多

第六章 访问权限控制

问题:如何把变动的事物与保持不变的事物区分开来

 

我们这一章主要的目的要实现高内聚,低耦合,保持提供给客户端开发者的接口不变,但是里面可以变,这里的接口不变,指你的低耦合性,使开发者不依赖你的类型而进行开发,所以一般都是提供接口

 

 

而访问权限控制就是为了实现这个目的

 

.包:库单元,类库

 

一个java源文件也叫做编译单元或者转译单元,其内部可以有一个public 类,该类名字与文件名相同,只能有一个,若还有其他类,包外面的是看不见的,因为缺省是包内权限,而类的权限也只能是包内和public

 

 

.代码组织

.java文件中每一个类都会有一个输出文件,名字与类名相同,.class

java可运行程序是一组可以打包并压缩为一个java文档文件jar的class文件,java解释器负责这些文件的查找,装载和解释

package与import的作用是将单一的全局名字分开,而避免出现名称冲突的问题,package名称是intenent域名的反顺序

 

 

.java解释器的运行过程:

找到环境变量CLASSPATH,解释器获得包名。遇点则替换为反斜杠\,则产生了一个第一无二的路径名.解释器就是这样找到class文件的.

 

注:工具类的方法一般是公开静态的,可以用静态import导入语句

 

 

.java访问权限修饰词

 

public,任何人都可以访问

包访问权限,也就是不写任何修饰词的时候,默认的访问权限,只能在同一个包(编译单元)才能访问的(类似友元类)

protected,继承访问权限,简单来说就是老爸帮访问银行金卡的权限给了儿子.

private,同一个类的才能访问,同一个文件不同类的不能访问,必须是要同一个类,private非常重要与实用

 

 

.接口与实现

这一个可以说是java里面非常重要与实用的特性,在后面的章节会有详细介绍,我们经常把数据与方法包装在类中,然后通过访问权限控制,对具体实现隐藏起来,然后露出一个类型无关的接口供他人使用,这就是良好的封装

一般最好将public放在最前,然后是包权限,然后是protected,private,易于阅读者

 

.类的访问权限

类只有public 和包权限控制,若不想别人访问,可以在构造器用private,不过内部类可以使private和protected

 

 

这一章有一个设计模式,单例设计模式,具体可以去我的博客设计模式那里看

 

总结

这一章对我而言,是介绍了一个面向对象的入门,java提供访问权限给我们去限制那些使用我们代码的人,让他们接触到他们应该接触到的东西,而不是不应该的,我们提供给他们的是服务,就像电,这个词用得挺好的,就像使用电那样方便,只需要插上插头,不需要理解我插头后面是怎么样运作的,而当我需要发生改革时,插头仍然是三个的,保持了对外的不变性,这样当我需要变革时,我不需要顾虑是否会影响接口使用者而绊手绊脚,而接口使用者而不需要每次我版本升级后,他进行辛苦的代码修改。

 

 

 

注:java之设计模式    http://java.chinaitlab.com/special/patterns/Index.html

 

 

设计模式是面向对象编程的热门话题之一,越来越多的开发人员认识到设计模式的重要性。采用各种语言实现设计模式的文章也越来越多,但是很多开发人员发现很难将设计模式与实际开发中需要解决的具体问题相联系。
因为使用设计模式的难点往往不在于模式的实现,而在于很难确定哪种模式可以在现实的应用场景中采用,从而导致了在现实的项目中,面对客户的压力,我们总是采用最直截了当的方法解决问题。
本专题将用引用多个实例进行讲述Java设计模式,让大家对设计模式有更深的了解..........




具体内容请点击链接,他介绍得很形象,用图例介绍的,非常易懂















java美女 6





分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics