182. Java 包 - 创建和使用 Java 包

182. Java 包 - 创建和使用 Java 包

Java 中,包(Package 是组织类和接口的一种机制。它可以帮助我们将相关的类型组织在一起,避免命名冲突,并使代码更加模块化和可维护。


🚀 创建自定义包

要定义一个包,需要在 Java 源文件的顶部,使用 package 语句:

package com.example.shapes;

public class Circle {
    public double radius;
    public Circle(double r) {
        radius = r;
    }
}

🧠 注意

  • package 语句必须是文件中的第一个非注释、非空白行。
  • 包名通常使用 全小写字母
  • 使用公司反向域名作为前缀是常见的命名规范(例如 com.example),以避免与其他开发者的包发生冲突。

🧭 使用其他包中的类

如果你想在另一个包中使用上面定义的 Circle 类,有三种方式可以做到:

✅ 方法一:使用完全限定名

com.example.shapes.Circle c = new com.example.shapes.Circle(5.0);

这种方式清晰明了,不需要额外的导入语句。但写起来比较啰嗦,不推荐在大量使用时采用。


✅ 方法二:导入指定类

import com.example.shapes.Circle;

public class App {
    public static void main(String[] args) {
        Circle c = new Circle(5.0);
    }
}

这是最常见的使用方式,推荐在你只需要使用某几个类时使用。


✅ 方法三:导入整个包

import com.example.shapes.*;

public class App {
    public static void main(String[] args) {
        Circle c = new Circle(5.0);
        // 还可以使用该包中其他类型,如 Square、Rectangle(如果有)
    }
}

使用 * 表示导入该包中所有的类(不包括子包)。适合你频繁使用某个包中多个类的情况,但过度使用可能会增加类名冲突的风险。


📁 包结构与文件路径

Java 包名与文件系统路径是一一对应的,例如:

com/example/shapes/Circle.java

编译后生成的 .class 文件也会被放在相应目录中:

com/example/shapes/Circle.class

🧠 也就是说,包名决定了类文件的存储路径,这也是 Java 项目组织代码文件的基础。


📦 设置 CLASSPATH(类路径)

如果你将类文件保存在项目以外的路径,JVMJava 编译器可能找不到这些类。此时你就需要设置 CLASSPATH 环境变量。

比如:

export CLASSPATH=.:/path/to/my/classes

含义:

  • . 表示当前目录
  • /path/to/my/classes 表示你自己的类文件存放路径

💡现代 Java 项目通常使用 构建工具(如 MavenGradle),它们会自动处理 classpath 的配置,无需手动设置。


✅ 小结

操作说明示例
创建包使用 package 语句package com.example.tools;
使用类(完全限定名)不需要 import,但繁琐new com.example.shapes.Circle()
使用类( import单个类)简洁明了import com.example.shapes.Circle;
使用类( import整个包)导入多个类方便import com.example.shapes.*;
包路径对应包名与文件路径一一对应com/example/shapes/Circle.java
设置类路径用于指定 class 文件查找路径CLASSPATH=.:/your/classes/dir
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yaoxin521123

谢谢您的支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值