一个类可能需要另一个类声明的对象作为自己的成员或方法中的局部变量,如果这两个类在同一个包中,自然没有问题,但是,如果这两个类不在同一个包中,这时必须使用import语句。
引入类库中的类
使用import语句可以引入包中的类,在编写源文件时,除了自己编写类外,经常需要使用Java提供的许多类,这些类可能在不同的包中。
为了能使用Java提供的类,可以使用import语句引入包中的类。在一个Java源程序中可以有多个import语句,它们必须写在package语句(假如有package语句的话)和源文件中类的定义之间,Java提供了大约130多个包。
例如:
java.lang包含所有的基本语言类
java.io包含所有的输入输出类
java.util包含实用类
java.sql包含操作数据库的类
java.net包含所有实现网络功能的类
如果要引入一个包中的全部类,则可以用通配符号星号(*)来代替,例如:
import java.util.*; //表示引入java.util包中所有的类 import java.util.Date; //表示引入java.util包中的Date类
引入自定义包中的类
用户程序也可以使用import语句引入非类库中有包名的类,例如:
import tom.jiafei.*;
用户为了使自己的程序能使用tom.jiafei包中的类,可以在classpath中指明tom.jiafei包的位置,假设包tom.jiafei的位置是C:\1000,即包名为tom.jiafei的类的字节码存放在C:\1000\tom\jiafei目录中。用户可以更新classpath的值,例如:
set classpath=C:\jdk1.6\jre\lib\rt.jar;.;C:\1000 /*表示可以加载C:\1000目录中的无名包类且C:\1000目录下的子孙目录可以作为包的名字来使用*/
如果用户不想更新classpath的值,那么用户可以在用户程序所在目录下建立和包相对应的子目录结构。
例如:用户程序中某个类所在目录是C:\2000,该类想使用import语句引入tom.jiafei包中的类,那么根据包名建立目录结构C:\2000\tom\jiafei,就不用去修改classpath的值,因为默认的classpath的值为:
C:\jdk1.6\jre\lib\rt.jar;.; /*“.;”表示可以加载应用程序当前目录中的无名包类且当前目录下的子孙目录可以作为包的名字来使用*/
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程