第五章、访问权限控制.ppt

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章、访问权限控制

理学院 信息与计算科学教研室 毛勇华 第五章、访问权限控制 进行面向对象的设计时,一项基本的考虑是:如何将发生变化的东西与保持不变的东西分隔开。 Thinking in Java Thank you! * 由来 库的创建者必须能自由地进行修改与改进,同时保证客户程序员代码不会受到那些变动的影响。 为达到这个目的,Java推出了“访问指示符”的概念 Public,private 为将组件绑定到单独一个统一的库单元里,Java采用package(打包),访问指示符要受到类在相同的包还是在不同的包里的影响 5.1包:库单元 由于存在名字潜在的冲突,必须对Java中的命名空间进行完整的控制,且需要创建一个完全独一无二的名字 包内包含一组类,它们在单一的名字空间之下被组织在一起。 Java一个源码文件通常叫作一个“编辑单元”→.java 一个编译单元,至多一个公共(public)类,必须与文件相同的名字 非公共类包外不可见,仅为公有类提供支持 编译一个.java文件,文件中的每个类,都生成一个.class扩展名文件。 package 从少量的.java文件里有可能获得数量众多的.class文件 一个有效的java程序就是一系列.class文件,它们可以封装和压缩到一个JAR文件里。Java解释器负责对这些文件的寻找、装载和解释。 类“库”也由一系列类文件构成。每个文件都有一个public类和若干个非public类,java采用package将不同文件中的类打包到一起。 package语句必须作为文件的第一个非注释语句出现。该语句的作用是指出这个编译单元属于名为mypackage的一个库的一部分。 编译单元内的public类名位于mypackage这个名字的下面 使用类,则需指出完整的名字,或使用import 关键字。 与mypackage联合。 5.1.1 创建独一无二的包名 一个包永远不会真的“封装”到单独一个文件里面,它可由多个.class文件构成。 java将某个特定包使用的所有.class文件都置入单个目录里,以避免出现混乱。 创建独一无二的包名以及找出那些可能深藏于目录结构某处的类 需要将.class文件的位置路径编码到package的名字里。 编译器强迫package名的第一部分是类创建者的因特网域名。 第二部分是将package名解析成自己机器上的一 个目录 Java解释器的工作程序 找到环境变量CLASSPATH CLASSPATH包含了一个或多个目录 它们作为一种特殊的“根”使用,从这里展开对.class文件的搜索。 从根开始,解释器会寻找包名,并将每个点号替换成一个斜杠,从而生成从CLASSPATH根开始的一个路径名 package foo.bar.baz会变成foo\bar\baz 将它们连接到一起,成为CLASSPATH内的各个条目 再次搜索.class文件时,就可从这些地方开始查找与准备创建的类名对应的名字。 包名:文件所在目录全称 Java环境变量设置 确认Java安装路径: C:\Program Files\Java\jdk1.6.0_23 电脑-属性-高级-环境变量-系统变量中添加以下环境变量 变量名 CLASSPATH 变量值 .; C:\Program files\Java\jdk1.6.0_23\lib\tool.jar; C:\Program Files\Java\jdk1.6.0_23\lib\dt.jar; C:\Program Files\Java\jdk1.6.0_23\bin 双击打开path变量,在其值后加 C:\Program Files\Java\jdk1.6.0_23\bin; JAVA_HOME= C:\Program Files\Java\jdk1.6.0_23 示例 一个个的编译 Javac –d . Vector.java Javac –d . List.java 自动创建game目录 自动编译 为导入的类首次创建一个对象时,编译器会在适当的目录里寻找同名的.class文件(如X.class)。 若只发现X.class,它就是必须使用的那一个类。 若它在相同的目录中还发现了一个X.java,编译器就会比较两个文件的日期标记。 自动编译较新的X.java,生成一个最新的X.class。 冲突 若通过*导入了两个库,而且它们包括相同的名字,则易造成冲突。 有时并不真的发生 Vector v = new Vector();//冲突,报错 java.util.Vector v = new java.util.Vector();//直接写全称 CLASSPATH的陷阱 CLASSPATH包含的类路径中类,可能会有与import导入包中的类同名。 在matlab中是

文档评论(0)

l215322 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档