《Java开发 - 第1部分 基础篇》第7章 Java包管理

为便于管理大型软件系统中数目众多的类,解决类的命名冲突问题。Java引入包(package)管理机制,提供类的多重命名空间。

7.1 Java包使用

package语句作为Java源文件的一条语句,指明该文件的中定义的类所在的包。(若缺省该语句,则指定为无名包)
格式:package pkg1.pkg2.pkg3…
Java编译器把应用于文件系统的目录管理,package语句中,用’.’来指定包(目录)的层次,例如使用语句:
package com.sxt;//表明该文件的类在\com\sxt目录下。

实例

//先定义一个类Cat
package com.bjsxt.javaclass;

public class Cat
{
    
}

现在我们新建一个类用来使用这个Cat类

public class Dog
{
    public static void main(String args[])
    {
        Cat c = new Cat();
    }
}

在编译Dog.java时会发现:如果Cat.class不在规定的目录下。编译器会报错:确认Cat这个累是否在正确的目录下。我们把Cat.class放到package语句规定的目录下:编译器还是会报相同的错误,因为从JDK1.5之后有可能Cat的源文件也会产生影响,我们把Cat.java删掉。删掉源文件之后我们再次编译:编译器还是会报错:不能解析Cat这个符号。因为我们语句中写的是Cat c = new Cat();

这代表Cat是一个裸体类,我们要把他的名字写全:com.bjsxt.javaclassCat c = new com.bjsxt.javaclass.Cat;这样子就可以通过编译啦!

总结一下:package写在第一句,编译出来的class文件必须在正确的目录下(和包的层次完全一致),在另外一个文件中使用时名字要写全。但是话说回来:我们每次使用Cat这个类时都要写那么长一句话会不会很繁琐?

解决方法:我们可以在程序开始前用import语句来引入这个类

import com.bjsxt.javaclass.Cat;    //引入之前写过的Cat类
public class Dog
{
    public static void main(String args[])
    {
        Cat c = new Cat();       //编译器就会认识这个类啦
    }
}

还可以写成
import com.bjsxt.javaclass.*; //代表把这个目录下的类全部引入

7.2 Java主要包

Java采用包结构来组织和管理类和接口文件。本文介绍Java语言类库中几个常用的包,因为这几个包在软件开发与应用中经常需要用到,其中有些包是必要的。若是离开它,还真不能做事情了。

第一个包:java.lang包。

该包提供了Java语言进行程序设计的基础类,它是默认导入的包。该包里面的Runnable接口和Object、Math、String、StringBuffer、System、Thread以及Throwable类需要重点掌握,因为它们应用很广。

第二个包:java.util包。
该包提供了包含集合框架、遗留的集合类、事件模型、日期和时间实施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。

第三个包:java.io包。

该包通过文件系统、数据流和序列化提供系统的输入与输出。

第四个包:java.net包。

该包提供实现网络应用与开发的类。

第五个包:java.sql包。

该包提供了使用Java语言访问并处理存储在数据源(通常是一个关系型数据库)中的数据API。

第六个包:java.awt包

提供了构造抽象窗口工具集(abstract Windows toolkits)的多个类,这些类被用来构造和管理应用程序的图形用户管理界面(GUI)。

第七个包:javax.swing包。

这两个包提供了GUI设计与开发的类。java.awt包提供了创建界面和绘制图形图像的所有类,而javax.swing包提供了一组“轻量级”的组件,尽量让这些组件在所有平台上的工作方式相同。

第八个包:java.text包。

提供了与自然语言无关的方式来处理文本、日期、数字和消息的类和接口。

关于上述这些包结构,除了第一个包是自动导入外,其余的包都需要使用import语句导入,才可使用其包里面的类与接口。若想深入了解它们,请多阅读JDKAPI文档,同时,多使用这些包里的类与接口来解决问题和满足需求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bruceoxl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值