您的位置:首页 > 其它

import引入语句

2015-10-19 17:16 309 查看
Java中,若想利用包的特性,可使用引入(import)语句告诉编译器要使用的类所在的位置。实际上,名也是类名的一部分。例如,如果abc.Student包中含有Gui类,则该类可称作abc.Student.Gui。如果使用了import语句,再使用类时,包名可省略,只用Gui来指明该类。

1、使用格式

import pkgl[.pkg2[.pkg3…]].(类名I g-);

 假设有一个包a,在a中的一个文件内定义了两个类XX和YY,其格式如下:

    package a;

    class XX{}

    class YY{}

当在另外一个包b中的文件ZZ.java中使用a中的类时,语句形式如下:

    package b;

    import a.*;

    class ZZ extends XX {}

在ZZ.java中,因引入了包a中的所有类,所以使用起来就好像是在同一个包中一样。

在程序中,可以引用包的所有类或若干类。引用所有类时,可使用通配符“*”。引入整个包时,可以方便地访问包中的每一个类,但会占用过多的内存空间,代码下载的时间将会延长,因此在了解包的基本内容后,实际要用到哪个类就引用哪个类,尽量不造成资源的浪费。

实际上,程序中不一定要有引用语句。当引用某个类的类与被引用的类存储在同一物理目录下时,就可以直接使用被引用的类。

2、分类

单类型导入:import java.io.File;

按需求类型导入:import java.io.*; 对于按需类型导入,有人误解为导入一个包下的所有类,其实不然,看名字就知道,他只会按需导入,也就是说它并非导入整个包,而仅仅导入当前类需要使用的

  注:单类型导入和按需类型导入对类文件的定位算法是不一样的。java编译器会从启动目录(bootstrap),扩展目录(extension)和用户类路径下去定位需要导入的类,而这些目录仅仅是给出了类的顶层目录。编译器的类文件定位方法大致可以理解为如下公式:

  顶层路径名 \ 包名 \ 文件名.class = 绝对路径

对于单类型导入很简单,因为包明和文件名都已经确定,所以可以一次性查找定位。

对于按需类型导入则比较复杂,编译器会把包名和文件名进行排列组合,然后对所有的可能性进行类文件查找定位。例如:

package com;

import java.io.*;

import java.util.*;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: