Java编程思想第六章访问权限控制.ppt

上传人:文库蛋蛋多 文档编号:2698726 上传时间:2023-02-23 格式:PPT 页数:31 大小:179KB
返回 下载 相关 举报
Java编程思想第六章访问权限控制.ppt_第1页
第1页 / 共31页
Java编程思想第六章访问权限控制.ppt_第2页
第2页 / 共31页
Java编程思想第六章访问权限控制.ppt_第3页
第3页 / 共31页
Java编程思想第六章访问权限控制.ppt_第4页
第4页 / 共31页
Java编程思想第六章访问权限控制.ppt_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《Java编程思想第六章访问权限控制.ppt》由会员分享,可在线阅读,更多相关《Java编程思想第六章访问权限控制.ppt(31页珍藏版)》请在三一办公上搜索。

1、第六章 访问权限控制,包(Package)成员的访问权限控制 类的访问权限控制,一、序言,1、为什么要使用访问权限控制?程序存在重构的可能和必要,但是类的 消费者却希望你的代码保持不变 利用封装和访问权限控制来解决该矛盾,保证接口的声明和接口的功能保持不变,一、序言,2、访问权限的等级有:public、private、protected和包访问权限 访问权限控制的第一基本原则:尽可能 将一切数据和方法设为private,而允许 类的消费者访问和使用的方法设为public,二、包:库单元,1、问题:在Java环境中存在大量的类,如何管理好这些类而避免冲突?发生冲突的一个典例:,import ne

2、t.mindview.simple.*;/自定义类库 import java.util.*;/Java标准类库 假设:两个类库都有一个叫Vector的类,那么下面的代码将导致冲突:Vector v=new Vector();因为编译器不知道到底应该调用哪个Vector类,仔细分析:其实在操作系统中也存在着同样问题 操作系统采用目录结构(文件夹)来组织和管理 文件,各种文件被分门别类地存放在不同的目录 类似的,Java采用包(Package)来组织和管理类/从实验效果来看,包就是文件夹 问题:以前的例子怎么没有包?(默认包),二、包:库单元,2、代码组织 每个Java文件都有一个public类(

3、主类)以及若干个非public类(辅助类)当编译Java文件时,每个类都会有一个 输出文件(.class文件),二、包:库单元,类库(Class Library)由若干个Java文件和更多的.class文件 组成 若我们希望这些文件同属于一个群组,就得使用包,二、包:库单元,包(Package)的定义 package 包名;注意:包的定义必须是文件中除注释 以外的第一条语句,二、包:库单元,包中的类的使用方法 要么使用全名 要么使用import关键字载入,二、包:库单元,3、创建独一无二的包名 包名由以下两部分组成 类创建者的反顺序internet域名 包所在计算机的目录名称,internet

4、域名是独一无二的,因此你的包名的 第一部分也应该是独一无二的 典例:本文作者的域名为 反顺序以后变成:net.mindview 这是一劳永逸的解决方案,否则如果缺少第一 部分,你在自己的计算机编写的Java程序没有 问题,但拿出去发布时就有可能冲突,二、包:库单元,Java编译器的运行过程 首先,找出环境变量CLASSPATH CLASSPATH包含一个多个目录,用作 查找.class文件的根目录,典型的CLASSPATH C:.;C:Program FilesJavajdk1.6.0_10LIB;C:Program FilesJavajdk1.6.0_10DT.JAR;C:Program F

5、ilesJavajdk1.6.0_10TOOLS.JAR;,二、包:库单元,其次,编译器利用CLASSPATH根目录 加上包名称产生一个完整路径名称 Java的策略也很简单:将包名称的每个 句点替换为反斜杠 典例:foo.bar.baz变换为foobarbaz,二、包:库单元,此外,编译器还会去查找一些涉及Java 编译器所在位置的标准目录 比如:安装目录bin或安装目录lib,典例(P112113):文件1(Vector.java文件):package net.mindview.simple;public class Vector Vector()/*.*/,文件2(List.java文件)

6、:package net.mindview.simple;public class List List()/*.*/注意:Vector类和List类属于同一个包,CLASSPAHT的配置为:CLASSPATH=.;D:JAVALIB;C:DocJavaT 以此为例,仔细分析Java编译器的是如何找到 这两个文件的?这两个文件的位置:C:DocJavaTnetmindviewsimple,二、包:库单元,特殊情况:使用JAR文件 必须在类路径中将JAR文件的实际名称 写清楚,而不仅仅是指明它所在的位置 典例(参见P113),三、Java访问权限修饰词,Java访问权限修饰词包含四种:public

7、、private、protected、缺省 如果没有提供任何访问权限修饰词,则意味它是包访问权限,三、Java访问权限修饰词,1、public:公共访问权限 private:私有访问权限 protected:保护访问权限 前两者同C+中的含义完全一致 而protected:=子类+包访问权限,三、Java访问权限修饰词,2、缺省:包访问权限 可以被处于同一个包中的所有类访问,由于同一包中的类在缺省情况下可以互相访问,所以为了方便编程和管理,通常把需要在一起 工作的类放在一个包里 访问权限控制的第二基本原则:类消费者一般 不能享有包访问权限 防止类的消费者访问并修改包中的类,根据两个基本原则,我们可以得出以下结论:public:公共接口部分 类的消费者唯一能接触和使用的部分 非public:内部实现部分 封装和隐藏起来的具体实现细节,利用图形仔细分析这四个概念,三、Java访问权限修饰词,3、默认包(未命名包)在Java源代码文件中没有指明包名 从权限角度遵守上述规则 但只能在当前目录下(缺省目录)编译 和运行(因为它连名字都没有),四、接口与实现,Java类的标准书写格式 public成员置于开头,后面跟protected、包访问权限和private成员,五、类的访问权限,Java类的访问权限有两种:public和包访问权限,习题,P113:习题1 P120:习题5,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号