§ 2.7 包
? 本节主要内容
– 创建包
– 访问包
2.7.1创建包
? 在默认情况下,系统会为每个,java源文件创建
一个匿名包,该,java文件中定义的所有类都隶
属于这个无名包,他们之间可以相互引用非
private类型的成员或方法。
? 无名包中的类不能被其他包中的类所引用。
2.7.1创建包
? 在类的定义前将类打包的语法
– package 程序包名称
– 例如,
? package com.software.HSN
? 包用,.”分割,分割的部分对应相应的目录。
? 例如上面的包中的文件是放在 com\software\HSN 目录中,设置
类路径时只要指 com\software\HSN 目录即可。 比如,
c:\test\com \software\ HSN,classpath = c:\test
– 示例 2.7.1 下面的例子创建了一个包,其中包含了文件中的两
个类 TestPackage和 FirstPackage。(见书 129页)
2.7.2访问包中的类
? 将类组织成包的目的是为了更好的利用包中的类。
? 通常一个类只能引用与它在同一个包中的类,如果需
要使用其他的包中的 public类,可以通过下面方法来
访问,
– 使用包名和类名的前缀
? 一个类要引用其他的类,目的是为了继承这个类或者创建这个
类的对象并调用该对象的成员属性和成员方法,对于同一个包
中的其他类,只需要在使用的属性或方法前加上类名作为前缀
就可以了,对于不在同一个包中的类,则需要在类名前还要加
上包名作为前缀。例如,
2.7.2访问包中的类
– 使用包名和类名的前缀
public class UsePackage
{ com.software.HSN.myFirstPackage.TestPackage
MyFirstClass = new
com.software.HSN.myFirstPackage.TestPackage();
}
2.7.2访问包中的类
? 用 import语句加载需要使用的类
– 当使用上面的方法时,每当类名 TestPackage出现
时,都必须附加一个长长的包名作为前缀,编程过
程中使用起来非常不方便。如果在程序文件的开始
部分利用 import语句将需要使用的整个类加载到当
前程序中,这样在程序中引用这个类时就不需要使
用包名作为前缀。
– 例如上面的语句在程序开始处增加了 import语句,
其结果如下所示,
2.7.2访问包中的类
? 用 import语句加载需要使用的类
import com.software.HSN.myFirstPackage.TestPackage;
public class UsePackage
{
TestPackage MyFirstClass = new TestPackage();
}
2.7.2访问包中的类
? 加载整个包
– 在利用 import语句加载了包中的一个类时,程序只
能直接使用被导入的特定类,不能使用包中其他未
导入的类。
– 要实现对包中其它类的使用可以将整个加载到程序
中。
– 加载整个包的 import语法为,
? Import com.software.HSN.myFirstPackage.*;
小结
? 通过本节学习,使我们主要学习了如下主要内
容,
– 包的用途
– 包中类的引用