开发手册 欢迎您!
软件开发者资料库

Java import和package关键字作用及用法

package关键字可以声明一个包,不同的包中可以有相同的类名,可以更好地实现对类的管理。import关键字用于导入包,类或接口。本文主要介绍Java import和package关键字作用及用法。

1、package

Java中的软件包用于区别类名的命名空间。可以理解为就是文件夹,并且使用了树形目录的存储方式。 我们使用软件包来避免名称冲突,并编写更好的可维护代码。 软件包分为两类:

1)内置软件包(来自Java API的软件包)

2)用户定义的软件包(创建自己的软件包)

编写代码时,要使用一个类要将多个包名.类名完全写出,会让代码变得很长,如下,

java.io.InputStream is = java.lang.System.in;
java.io.InputStreamReader isr= new java.io.InputStreamReader(is);
java.io.BufferedReader br = new java.io.BufferedReader(isr);

为了使用代码简洁,编写代码更方便,就需要使用import关键字。

2、import

import关键字用于导入包,类或接口。也就是在java文件的头部位置,导入用到的引用。之后使用就可以在代码中,

直接使用类名,而不需要所在的包名。相当于使用类简称。加上包名的就是类的全称。可以更好地限定一个类,避免重名等问题。

java文件开头使用import导入:

import java.lang.System;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.BufferedReader;

程序中使用就可以直接使用类名:

InputStream = System.in;
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);

import导入有两种方式:

1)单类型导入(single-type-import)

import java.io.File

此种方式比较容易理解,而且大部分时候都是这种方式。通过明确指明类和接口路径,将他们导入进来。

2)按需类型导入(type-import-on-demand)

import java.io.*

通过通配符*定义导入方式,不是直接导入这个包下的所有类,而是可以导入所有类。但按照需要导入,不需要就不会导入。

注意:多次导入,也可编译通过。编译器会将多次重复导入声明忽略。

3、import static

import static是静态导入,导入的是静态成员,而import导入的是类或接口类型。JDK 1.5里引入了“Static Import”机制,使用这个机制可以用略掉所在的类或接口名的方式,来使用静态成员。

package com.wonhero.staticimport;
public class staticFieldsClass {
static int staticNoPublicField = 0;
public static int staticField = 1;
public static void staticFunction(){}
}

引用上面的staticFieldsClass:

//直接导入具体的静态变量、常量、方法import static com.wonhero.staticimport.StaticFieldsClass.staticField;import static com.wonhero.staticimport.StaticFieldsClass.staticFunction;//**按需导入**//import static com.wonhero.staticimport.StaticFieldsClass.*;public class StaticImport {    public static void main(String[] args) {    //可以直接写静态成员而不需要通过类名调用        System.out.println(staticField);        staticFunction();    }}