您的位置:首页 > 编程语言 > Java开发

Thinking in Java 第6章 访问权限控制 【包:库单元】

2016-07-04 15:24 351 查看
//声明:部分内容引自《Java编程思想(第四版)》机械工业出版社

– 当编写一个 Java 源代码文件时,此文件通常被称为编译单元(有时也被称为转译单元)。每个编译单元都有一个后缀名 .java。

– 当编译一个 .java 文件时,在 Java 文件中的每个类都会有一个输出文件,而该输出文件的名称与 .java 文件中每个类的名称相同,只是多了一个后缀名 .class。因此,在编译少量 .java 文件之后,会得到大量的 .class 文件。

– Java 可运行程序是一组可以打包并压缩为一个 Java 文档文件(JAR,使用 Java 的 jar 文档生成器)的 .class 文件。Java 解释器负责这些文件的查找、装载和解释。

– 类库实际上是一组类文件。其中每个文件都有一个 public 类,以及任意数量的非 public 类。因此每个文件都有一个构件。如果希望这些构件(每一个都有它们自己的独立的 .java 和 .class 文件)从属于通过一个群组,就可以使用关键字 package。

– package 和 import 关键字允许做的是将单一的全局名字空间分割开来,使得无论多少人使用 Internet 以及 Java 开始编写类,都不会出现名称冲突的问题。

– 如果打算发布 Java 程序代码,很有必要取得一个域名。

– Java 解释器的运行过程:

找出环境变量 CLASSPATH(可以通过操作系统来设置,有时也可以通过安装程序——用来在你的机器上安装 Java 或基于 Java 的工具——来设置)。CLASSPATH 包含一个或多个目录,用作查找 .class 文件的根目录。

从根目录开始,解释器获包的名称并将每个句点替换成反斜杠,以从 CLASSPATH 根中产生一个路径名称(于是,package foo.bar.baz 就便变成为 foo\bar\baz 或是 foo/bar/baz 或其他,这一切取决于操作系统)。

得到的路径会与 CLASSPATH 中的各个不同的项相连接,解释器就在这些目录中查找与你所要创建的类名称相关的 .class 文件。(解释器还会去查找某些涉及 Java 解释其所在位置的标准目录。)

– 如果将两个含有相同名称的类库以 “*” 的形式同时导入,会存在潜在的威胁。例:

import net.mindview.simple.*;
import java.util.*;


两者都含有 Vector 类,只要不写将会导致冲突的代码就不会有什么问题。如果要创建将会产生冲突的类,应该这样创建:

java.util.Vector v = new java.util.Vextor();


或者使用单个类导入的形式:

import java.util.Vector;


– 如果发出错误:无法找到特定的类,可以尝试注释掉 package 语句。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 源代码 编程