一个Java项目中都会包含大量的代码,类,接口,这时这些类在工程列表中都是按首字母顺序排序的,所以对于寻找某一专项的代码而言是极其不方便的。而使用Java中的包,就截然不同了
一.包是什么
包是一种可以将大量的java类模块化分类的东西,以下便是在java项目中创建包的操作:
首先右键点击项目名,选择new中的package,点击:
然后在下面的窗口中命名包名
包名的命名之间用.来隔开,前半部分是域名倒置,最后一个.后面是包名,如下,com.jd是域名倒置,tool是包名,点击finish,一个包就创建好了:
多创建了几个模块化的包就是这样的:
二.什么时候需要引包
既然项目中有不同的包,那么在编程过程中就需要引包操作,那么在什么时候需要引包呢?
1.自定义不同包的类
如果要使用的自定义的类不在同一个包中,则需要引包。
2.JDK中的包
如果要调用JDK中包,则需要进行引包操作
3.第三方写得包
4.java.lang中的包不需要引包
三.如何引包
我们先在刚才的项目中每个包都创建一个类:
假如我们在Test类中创建并使用Tool类,这时便需要引包,这时引包方法有以下两种:
package com.jd.tool;
public class Tool {
public void eat() {
}
}
package com.jd.test;
public class Test {
public static void main(String[] args) {
new Tool().eat();
}
}
1.手动点击
上段代码中由于没有引包所以编译器会报错,这时我们将鼠标放到报错的位置上:
点击Import ‘Tool’,这时代码中就会出现引入的com.jd.tool包
2.Ctrl+Shift+O
它的作用是将代码中未引入的包直接引入
两种方法的最终结果都是这样:
package com.jd.test;
import com.jd.tool.Tool;
public class Test {
public static void main(String[] args) {
new Tool().eat();
}
}
四.引包方式
引包有两种方式一种是像上述方法一样精确到具体哪个类,这种方式叫精确引包,它的性能较高,在开发软件时要求必须精确引包。
还有另一种引包方式叫抽象引包,它的使用是导入整个包,如下:
package com.jd.test;
import com.jd.tool.*;
public class Test {
public static void main(String[] args) {
new Tool().eat();
}
}
这种引包方式会比较影响性能,为了一个类的使用而引入了整个包,不会在开发中使用,但是做实验和做展示时为了方便易操作,可能会用的到这种引包方式。
五.注意事项
1.包名不能以java开头
包名不能以java开头,因为JDK中的包是以java开头的
2.包名只能放在有效代码行的第一行
也就是说包名前面不能有有效代码行,但是可以有注释
3.包的命名
包的命名只能使用小写字母和.不能使用_和$