举例:小明和小强都想给自己定义的类命名为Dog(在同一个文件夹下不能有同名的类),包可以解决这个问题
1.区分相同名字的类:可以把Dog类放在不同的包
2.当类很多的时候,可以很好的管理类(把功能相同或者相似的类放在同一个包进行管理)
3.控制访问反问
实际上就是创建不同的文件夹来保存类文件
例子:
在com.xiaoming和com.xiaoqiang这两个包里创建了Dog类

包就是对应不同的文件夹或者目录,类放在对应的包下面
package com.use;
import com.xiaoqiang.Dog;
//已定义具有相同简名的类型,不能再导入xiaoming这个包
//import com.xiaoming.Dog;public class Test {public static void main(String[] args) {//已经导入了com.xiaoqiang这个包,所以不用再次声明Dog dog = new Dog();System.out.println(dog);//com.xiaoming,用包名来区分两个Dogcom.xiaoming.Dog dog1 = new com.xiaoming.Dog();System.out.println(dog1);}
}
输出结果
只能包含数字、字母、下划线、小圆点,但 不能用数字开头,不能是关键字或保留字
eg: demo.class.exec1 包含关键字class
demo.12a 数字开头
demo.ab12.oa 正确
## 标题
一个包下,包含很多的类,java 中常用的包有:

package com.hspedu.pkg;import java.util.Arrays;//建议:需要使用哪个类就导入哪个类,不建议使用*
//import java.util.Scanner;//只会导入java.util包下的Scanner类
//import java.util.*;//导入java.util包下的所有类
public class Import01 {public static void main(String[] args) {//用系统提供的Arrays完成数组排序int[] arr = {10, -5, 23, 0, 6};//对其进行排序//传统方法:自己编写排序,比如冒泡Arrays.sort(arr);//输出排序结果for(int i = 0; i < arr.length; i++){System.out.print(arr[i] + " ");}}
}
//package用来声明当前类所在的包,需要放在类(或者文件)的最上面
// 即PkgDetail这个类所在的包是com.hspedu.pkg
//一个类中只有一句package
package com.hspedu.pkg;//import 指令位置放在 package 的下面,
// 在类定义前面,可以有多句且没有顺序要求import java.util.Arrays;
import java.util.Scanner;public class PkgDetail {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);Arrays.sort(args);}
}
上一篇:关于老鼠的两句寓言