一. 包的含义
在物理上, 包就是文件夹。 比如说 java.until.Scanner 在window下就是
java/
└── util/
└── Scanner.class ← 这就是 Scanner 的编译后文件
每个 .java 文件的开头可以用 package 声明自己属于哪个包:
java
// 声明这个文件属于 com.example.utils 包
package com.example.utils;
public class MathUtils {
// ...
}
• 同一个"包" 里面的 类可以互相使用,不需要import ,但是使用其他包的类时候,就需要import了
二.import 导入
当我们想要在一个包里面,使用另一个包的类,那么import就是来帮助我们实现这个想法的
有两种导入方法:
• 精确导入,只导入一个类
java
import java.util.ArrayList;
import java.util.HashMap;
• 通配符导入,同时导入多个类(这个包里里面的)
java
import java.util.*;
在这两个例子里面 java是顶级的包(类似根目录) , util是这个java包里的一个包, ArrayList 和 HashMap是 包里面的类
java
import java.util.*;
public class package_test{
public static void main(String[] args){
ArrayList<Integer> nums = new ArrayList<>();
nums.add(3);
nums.add(1);
nums.add(4);
Collections.sort(nums);
System.out.println("排序后:" + nums);
HashMap<String,Integer> map = new HashMap<>();
map.put("Alice", 95);
System.out.println("Alice" + 95);
System.out.println("sqrt(144) = " + Math.sqrt(144));
System.out.println("Pi = " + Math.PI);
}
}
// String、Math、System 来自 java.lang,不需要 import
三.常见的类包:
| 包名 | 用途 | 典型类 |
|---|---|---|
java.util |
集合框架 | ArrayList、HashMap、PriorityQueue、Arrays |
java.io |
输入输出 | BufferedReader、InputStreamReader |
java.math |
大数运算 | BigInteger |
java.lang(自动导入) |
基础类 | String、Math、Integer、System |
java.lang包不需要导入,本身捆绑了,在项目中直接使用即可
四.vscode中包的使用例子:

我们可以看到 这个项目的名字叫做Cycle
• lib 外部的引入包
• src : 我们自己写的代码处在的位置
app.java是我们写的主函数位置, aa包和bb包是我们自己写的工具包
我们要在app.java包中使用aa包和bb包,就需要用到import
• aa包:

• bb 包 
£ app.java

如图
• 结语
如果对你有帮助的话,不妨点一个免费的赞和收藏
你们的支持就是我最大的动力