Java的包和import

一. 包的含义

在物理上, 包就是文件夹。 比如说 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

如图

• 结语

如果对你有帮助的话,不妨点一个免费的赞和收藏

你们的支持就是我最大的动力

相关推荐
周杰伦fans2 小时前
构建真正智能的CAD AI绘图代理
开发语言·人工智能·c#
user_admin_god4 小时前
第 10 篇:拼上下文与生成——预算、边界与防幻觉
java·人工智能·spring boot·语言模型
用户3126874877204 小时前
GC 算法与垃圾收集器演进:从 Serial 到 ZGC
java
天天被压力4 小时前
【别再到处找免费股票数据API了:官方204个接口,32篇一次讲透 #02】涨停跌停与特色股池:5类股池接口一次拉全
java·人工智能·python
斯维赤4 小时前
从 @Tool 到 Agent 流水线:LangChain4j 进阶教学,一个库打全套
java·后端
zhanghaha13144 小时前
Python进阶教程:35_PyQt (保姆级零基础教程)
开发语言·python·pyqt
SimonKing4 小时前
SSE项目`nexus-sse`持续优化,不一样的视觉效果
java·后端·程序员
斑鸠喳喳4 小时前
读写锁模式 Read-Write Lock
java·后端
释厄6235 小时前
多黑洞具现论·物理/生物/金融三域显化·虚拟宇宙黑洞·奇点=0 圆圈
开发语言·数据结构·人工智能·程序人生·安全威胁分析
信誓旦旦的程序猿5 小时前
【Python 量化取数指南 #09】Python 拿港股通数据:港股通成交与港股财报实测
java·python·股票数据api·股票数据·股票数据api接口·股票api数据接口·股票量化数据api