TIJ摘要:访问控制权限

  1. 重构的原动力之一:发现有更好的方式去实现相同的功能。
  2. OOP需要考虑的基本问题:如何把变动的事物与不变的事物区分开来。
  3. 访问控制权限:以供类库开发人员向客户端程序员指明哪些是可用的,哪些是不可用的。访问控制的等级,从最大权限到最小权限依次为:public、protected、包访问权限和private。
  4. 由于名字之间的潜在冲突,在Java中对名称空间进行完全控制并为每个类创建唯一的标识符就成了非常重要的事情。
  5. 每个编译单元只能有一个public类,否则编译器就不会接受。如果在该编译单元之中还有额外的类的话,那么在包之外的世界是无法看见这些类的,这是因为它们不是public类,而且它们主要是用来为主public类提供支持。
  6. 当编译一个.Java文件时,在.java文件中的每个类都会有一个输出文件,而在该输出文件的名称与.java文件中的每个类的名称相同,至少多了一个后缀名.class。
  7. java可运行程序:是一组可以打包并压缩为一个java文档文件(JAR,使用java的jar文档生成器)的.class文件。
  8. 类库实际上是一组类文件。
  9. 如果使用package语句,它必须是文件中除注释外的第一句程序代码。
  10. java包的命名规则全部使用小写字母,包括中间的字也是如此。
  11. package和import关键字允许你做的,是将单一的全局名字空间分割开,使无论多少使用Internet以及java开始编写类,都不会出现名称冲突问题。
  12. java解释器的运行过程如下:首先,找出环境变量CLASSPATH(可以通过操作系统来设置,有时也可以通过通过安装程序—用来在你的机器上安装Java或给予java的工具—来设置)。CLASSPATH包含一个或多个目录,用作查找.class文件的根目录。从根目录开始,解释器获取包的名称并将每个句点替换成反斜杠,以从CLASSPATH根中产生一个路径名称。得到路径名称会与CLASSPATH中的各个不同的项相链接,解释器就在这些目录中查找与你所要创建的类名称相关的.class文件。
  13. C的条件编译:一般情况下,源程序中所有的行都参加编译,但有时希望对其中的一部分内容只是在满足一定条件下才进行编译,即对一部分内容指定编译条件。java中没有条件编译。
  14. 默认访问权限没有任何关键字,但通常是指包访问权限。这就意味着当前包中的所有其他类对那个成员都有访问权限,但对于这个包之外的所有类,这个成员却是private。
  15. 不要错误地认为java总是将当前目录视为查找行为的起点之一。
  16. private的一个用处, 用private标记构造函数,这样就可以控制如何创建对象,并阻止别人直接访问某个特定的构造器。这样的方式可以实现单例模式。
  17. 对于类中的域,除非必须公开底层实现细目,否则就应该将所有的域指定为private.
  18. 出于两个很重要的原因,访问权限控制将权限的边界划在了数据类型的内部。第一个原因是要设定客户端程序员可以使用和不可以使用的界限。第二个原因即将接口和具体实现相分离。

版权声明:本文为博主原创文章,未经博主允许不得转载。

posted @ 2015-04-03 10:31  InkGenius  阅读(153)  评论(0编辑  收藏  举报