一、为什么需要包
加入A和B共同开发一个项目,A希望定义一个类名为Dog,B也希望定义一个类名为Dog,这时如何解决呢,就需要包了
二、包的三大作用
1、区分相同名字的类
2、当类很多时,可以很好的管理类,[例如java的API文档]
3、控制访问范围
三、包的基本语法
package com.lmdedu
说明
1、package 关键字,表示打包
2、com.lmdedu 表示包名
四、包的本质分析
包的本质就是创建 不同的文件夹/目录 来保存 类文件
五、快速入门案例
使用打包技术,来解决 上面类重名的问题
如何新建包
输入包名为 com.a 则会在src下创建文件夹 com,在com下创建 a
再新建一个 com.b
在a和b下均创建 Dog类
在 com下创建 use包 并创建 test类
在test类中引入 Dog类
package com.use;
import com.a.Dog;
public class test {
public static void main(String[] args) {
Dog dog = new Dog();
System.out.println(dog);//输出com.a.Dog@4554617c (4554617c为hashcode十六进制的写法)
com.b.Dog dog1 = new com.b.Dog();//出现了一样的类名 自动带包名com.b.Dog 因为不能同时import含有相同类的包名
System.out.println(dog1);//com.b.Dog@74a14482 (可以发现hashcode不一样)
}
}
六、包的命名
1、命名规则
只能包含数字、字母、下划线、小圆点. ,但不能用数字开头,不能时关键字和保留字
2、命名规范(显得专业)
一般时小写字母 + 小圆点
一般为
com.公司名.项目名.业务模块名
例如 com.tju.crm.utils
七、java中常用的包
1、java.lang //lang包是基本包,默认引入,无需再引入
2、java.tuil //util包,系统提供的工具包,工具类,例如 Scanner
3、java.net //网络包 网络开发
4、java.awt //做java的界面开发 GUI
八、如何导入包
import java.util.Scanner;//表示仅导入java.util 包下的Scanner类
import java.util.*;表示仅导入java.util 包下的所有类
调用 系统提供的Arrays 进行排序
package com.lmdedu.pkg;
import java.util.Arrays;
public class import01 {
public static void main(String[] args) {
//使用系统提供的类 Arrays 完成数组排序
int[] arr = {-1, 20, 2, 13, 3};
//传统方法 自己编写 排序程序
//但是很多情况 系统提供了相应的类
//调用Arrays 完成数组排序
Arrays.sort(arr);
//输出排序结果
for(int i = 0; i < arr.length; i++){
System.out.print(arr[i] + "\t");
}//-1 2 3 13 20
}
}
九、包的注意事项和使用细节
1、package的作用是 声明当前类所在的包, 需要放在 类的最上面(像上面的代码),一个类中最多只有一句package
2、import 指令要放在 package下面, 在类定义的上面 ,可以有多条 且没有顺序要求
///