import语句

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

那么,就不必修改classpath的值, 因为默认的classpath的值如下:
c:\jdk1.7\jre\lib\rt.jar;.;
其中的".;"表示可以加载应用程序 当前目录中的无包名类,而且当 前目录下的子孙目录可以作为包 的名字来使用。
例4.13中的Triangle.java含有一个Triandle 类,将4.13中的Triangle.java源文件保存到 C:\chapter4\tom\jiafei中,并编译通过,以 使chapter4目录下的类能使用import语句引 入Triangle类。
如果源文件使用通配符" * "引入包中所有的类, 那么使用A类时省略包名,此时源文件使用的是无名 包中的A类,也就是说,源文件无法使用tom.jiafei中 的A类。 如果想同时使用,就不能省略包名。
如果一个源文件引入了两个包中同名的类,那么在 使用A类是不允许省略包名。 例如,引入了tom.jiafei包中的A类和包中 的A类,那么程序在使用是必须使用全名:
如果要引入一个包中的所有类,可以 用通配符" * "来代替,例如: import java . util. *; 表示引入java.util包中所有的类,而 import java . until.Date; 只是引入java.until包中的Data类。
Example 4_12.java import java . util . Date; public class Example4_12{ public static void main(String args[]){ Date date=new Date(); System . out . println("本地机器的时 间:"); System . out . println(date); } }
Example4_14.java import tom.jiafei.Triangle; public class Example4_14{ public static void main(String args[]){ Triangle tri=new Triangle(12,-3,100); tri.计算面积(); tri.修改三边(3,4,5); tri.计算面积(); } }
例4.14中的主类(无包名)使用import 语句引入tom.jiafei包中的Triangle类。将 Example4_14.java保存在c:\chapter4目录 中(因ห้องสมุดไป่ตู้chapter4下有tom\jiafei子目录)。 因为在一个目录下,所以可以引入自定 义包中的类。
使用无包名的类
如果一个类想使用无名包中的类,只要将这个 无包名的类的字节码和当前类包存在同一个目 录中即可。 下面例4.15涉及两个源文件, Example4_11.java和A.java存放在同一个目录 中,首先编译A.java,然后编译,运行 Example4_15.java。
避免类名混淆
在一个源文件中使用一个类时,只要不引起 混淆,就可以省略改了的包名。 但在一下两种情况下不能省略包名: 1.区分无包名和有包名的类 2.区分有包名的类
如果一个源文件使用了一个无名包中的A类,同时 又用import语句引入某个有报名的同名的类,比如 tom.jiafei中的A类,就有可能引起类名的混淆。
import语句
制作人:李江兰
引入数据库中的类
一个类可能需要另一个类声明的对象作为 自己的成员或方法中的局部变量,如果两 个类在同一个包中,当然没问题。
但是,如果一个类想要使用的那个类和它 不在一个包中,它怎样才能使用这样的类 呢?
• 用户编写的类肯定和类库中的类不在一个 包中,如果用户需要类库中的类可以使用 import语句。 • 使用import语句可以引入包中的类。在学习 java语言时,使用已经存在的类,避免一切 从头做起,这是面向对象编程的一个重要 方面。
tom.jiafei.A bird=new tom.jiafei.A(); .A goat=new .A();
A.java public class A{ public void hello(){ System.out.println("你好"); } }
Example4_15.java public class Example4_15{ public static void main(String args[]){ A.a=new A(); a.hello(); } }
注:
java . lang包是Java语言的核心类库,它 包含了运行Java程序必不可少的系统类, 系统自动为程序引入java . lang包中的类 (比如System类、Math类等),因此不需 要再使用import语句引入该包中的类。
引入自定义包中的类
用户程序也可以使用import语句引入 非类库中有包名的类,例如: import tom . jiafei . *; 假设包tom.jiafei的位置是C:\1000,即 包名为tom.jiafei的类的字节码存放在 C:\1000\tom\jiafei目录中。用户为了 能使自己的程序使用tom.jiafei包中的 类,可以有以下三种方式:
在一个java源程序中可以有多个import语 句,它们必须写在package语句(假如 package语句的话)和源文件中类的定义之 间。 java为我们提供了大约130多个包,例如:
• ng:包含所有的基本语言类。 • javax.swing:包含抽象窗口工具集中的图形、 文本和窗口GUI类。 • java.io:包含所有的输入/输出类。 • java.until:包含数据结构类。 • java.sql:包含操作数据库的类。 • :包含所有实现网络功能的类。 • java.applet:包含所有实现Java Applet的类。
此时,如果使用A类时省略包名,源文件使用的是 tom.jiafei包中的A类,也就是说,源文件将无法使 用无名包中的A类。
如果想同时使用两个A类,就不能省略包名,例如: A a1=new A(); tom.jiafei.A a2=new tom.jiafei.A(); 那么,a1无名包A类创建的对象,a2是tom.jiafei.A 类创建的对象。
如果用户不希望更新classpath的值, 一个简单的、常用办法是在用户程 序所在目录下建立和包相对应的子 目录结构。比如用户程序中某个类 所在的目录是C:\chapter4,该类想 使用import语句tom.jiafei包中的类, 那么根据包名建立如下的目录结构:
c:\chapter4\tom\jiafei
用户可以更新classpath的设置,在命令行窗 口中执行以下命令: set classpath=c:\jdk.7\jre\lib\rt.jar;.;c:\1000 其中的c:\1000就表示可以加载c:\1000目录中 的无名包类,而且c:\1000目录下的子孙目录 可以作为包的名字来使用。
也可以将上述命令添加到classpath 值中。 对于Windows 2000,右击"我的 电脑"图标,在弹出的快捷菜单中选择 "属性"命令,弹出"系统特性"对话框, 再选择对话框中的"高级"选项卡,然 后单击"环境变量"按钮,进行 classpath值的修改。
相关文档
最新文档