java面向对象——包的概念及其应用

一.包的概念:

包是Java语言提供的一种区别类名字命名空间的机制,它是类的一种文件组织和管理方式、是一组功能相似或相关的类或接口的集合。Java package提供了访问权限和命名的管理机制,它是Java中很基础却又非常重要的一个概念。

二.包的作用:

1 把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。

2 如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,

当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。

3 包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。

三.包的定义:

在一个.java文件中可以一个public类和多个非public类,如果要将这些类组织在一个包当中,则在.java文件中除注释以外的第一行使用关键字package即可实现。当需要调用此包中的类时,就可以使用关键字import进行导入。

在定义包的时候,应该注意几点:

1.为了尽量使包名保持唯一性,包名通常采用小写、按倒写互联网址的形式进行定义。如:com.hank.www表示包文件放置的文件路径为com/hank/www。

2.在进行命名包时,应该避免使用与系统发生冲突的名字,如java.lang、java.swing等。

四.系统常用包

1、Java.lang包:java的核心类库,包含了运行java程序必不可少的系统类,如基本数据类型、基本数学函数、字符串处理、线程、异常处理类等,系统缺省加载这个包。

2、java.io包:java语言的标准输入/输出类库,如基本输入/输出流、文件输入/输出、过滤输入/输出流等等。

3、java.util包:Java的实用工具类库Java.util包。在这个包中,Java提供了一些实用的方法和数据结构。例如,Java提供日期(Data)类、日历(Calendar)类来产生和获取日期及时间,提供随机数(Random)类产生各种类型的随机数,还提供了堆栈(Stack)、向量(Vector) 、位集合(Bitset)以及哈希表(Hashtable)等类来表示相应的数据结构。包含如处理时间的date类,处理变成数组的Vector类,以及stack和HashTable类。

4、java.util.zip包:实现文件压缩功能

5、java.lang.reflect包:提供用于反射对象的工具

6、java.awt.image包:处理和操纵来自于网上的图片的java工具类库

7、java.wat.peer包:很少在程序中直接用到,使得同一个java程序在不同的软硬件平台上运行

8、java.applet包

9、java.NET包:实现网络功能的类库有Socket类、ServerSocket类

10、java.corba包和java.corba.orb包

11、java.awt.datatransfer包:处理数据传输的工具类,包括剪贴板,字符串发送器等

12、java.awt包:构建图形用户界面(GUI)的类库,低级绘图操作Graphics类,图形界面组件和布局管理如 Checkbox类、Container类、LayoutManger接口等,以及界面用户交互控制和事件响应,如Event类

13、java.awt.event包:GUI事件处理包。

14、java.sql包:实现JDBC的类库。

五.java包创建和使用步骤

第一步:在F:\javaStudy\j2se\14中创建Tools.java和TestTools.java,编写包源文件代码Tools.java和测试源文件代码TestTools.java。如下

java面向对象——包的概念及其应用_第1张图片
java面向对象——包的概念及其应用_第2张图片

第二步:在F:\javaStudy\j2se\14中创建路径文件org/yangjie/test。

第三步:编译包源文件代码Tools.java,将编译后的Tools.java和Tools.class移入路径文件org/yangjie/test中。

第四步:编译测试文件TestTools.java,即javac TestTools.java,运行java TestTools就可以实现包的创建和导入。

特别注意点:当org/yangjie/test文件移动到F:\javaStudy后,编译TestTools.java,会找不到路径包,报错。

java面向对象——包的概念及其应用_第3张图片

解决办法:设置环境变量classpath,路径为F:\javaStudy;,就能编译运行成功。

java面向对象——包的概念及其应用_第4张图片

六.jar的命令

java面向对象——包的概念及其应用_第5张图片

你可能感兴趣的:(java面向对象——包的概念及其应用)