zoukankan      html  css  js  c++  java
  • 第6章 访问权限控制

    2014-12-09 20:14:52

    访问权限控制

    1、访问权限控制出现的原因

      代码需要不断的重新创作才能变得完善。

      要完善的公用代码(如:类库)已经被客户程序使用,修改后,可能会影响客户程序的功能。

      添加约定规范,规定可能需要修改的公用代码不能被客户程序使用。

      这些约定规范利用访问权限控制来实现。

    2、访问权限控制的实现方法:提供访问权限修饰词

      权限由大到小:public,protected,包访问权限(无关键词),private

    3、包出现原因

      防止类的命名冲突,利用命名空间的不同来帮助解决类名冲突

    4、包是什么?

      包就是一个单位命名空间。

      存在于单一目录中的类,默认位于默认包中。

      整个命名空间就是,环境变量CLASSPATH的值指定的目录。每个目录又以包为单位分成了若干单位命名空间。

      

    5、每个包(库)实际上就是一组类

      每个编译单元(.java)有且只有一个public类。编译后,编译单元中定义了几个类,相应就会产生几个.class文件。

    6、分割出命名空间(打包类)

      package coreservlets;

      package语句必须放在文件中除了注释之外的第一句

    7、使用命名空间

      import java.util.*;

      使用类时,必须指明是哪个命名空间的类。

      编译时,javac遍历CLASSPATH指定的目录,寻找导入的命名空间。

    8、package和import存在的意义:分割命名空间,避免名称冲突

    9、如何创建独一无二的包名

      包名都使用小写(java是大小写敏感语言)

      惯例:创建者Internet域名反序+自定义包名

      eg:有域名MindView.net,则可以设置包名为:net.mindview.simple,此包存放目录:CLASSPATH/net/mindview/simple

    10、使用jar文件时,不止要指明它所在位置的目录,要将它的实际名称写清楚

    11、不同命名空间内有名字相同的类时,若被同一文件导入,则在使用此类时,用全称限制名,即包名+类名。示例程序ch601

    12、创建自己的类库,放在CLASSPATH指定的目录下

    13、java中,无条件编译,因为跨平台

    14、java调试技巧

      发布版本中无调试信息,开发版本中有调试信息。

      通过导入不同的包来实现。

      例如:两个包debug和debugoff,两个包中有相同的类,debug包中的类可以打印调试信息,若不需要打印调试信息,则导入另一个包。

      示例程序:ch602

    15、访问权限修饰词:public,protected,private及‘不提供修饰词’

    16、默认包:处于同一目录路径且未限定任何包名称 的文件,自动归属到该目录的默认包中。

    17、public:可以被所有类对象访问

      protected:可以被子类对象访问

      不提供修饰词:可以被同包内的类对象访问

      private:只能被本类对象访问

    18、权限控制就是让类的制作者控制此类哪些能被客户端程序使用,哪些不能被客户端程序使用。能被使用的就被封装成接口,而具体实现不能直接被使用。总之,访问权限控制+接口与实现的分离=封装,大大增加了程序的可维护性。

    19、使用时需要注意的几点:

      每个编译单元最多只能有一个public类,也可以没有public类

      public类的类名必须与编译单元名相同,大小写敏感

      

  • 相关阅读:
    Java--笔记(4)
    Java--笔记(3)
    Java--笔记(2)
    Java--笔记(1)
    Java--剑指offer(10)
    Java--剑指offer(9)
    网络基础面试常考知识点
    Java--剑指offer(8)
    Keil C51 的printf
    C语言中以十六进制输出字符型变量会出现'ffffff"的问题
  • 原文地址:https://www.cnblogs.com/ISeeIC/p/4154669.html
Copyright © 2011-2022 走看看