Java类库:包

Java 的源代码文件

当编写一个 Java 源代码文件时,这个文件通常被称为编译单元,也就是类文件。每个编译单元都必须有一个后缀名 .java,而在编译单元里面有且仅有一个 public 类,多的编译器不收,这个 public 类的名称必须与编译单元的文件名相同。

package 关键字

当编译一个 .java 文件时,在 .java 文件中的每个类(包括 public 和非 public)都会有一个输出文件,该输出文件与 .java 文件中每个类的名称相同,只是多了一个后缀名 .class。所以在编译少量的 .java 文件后会得到大量的 .class 文件。

类库实际上是一组类文件。其中每个文件都有一个 public 类和任意数量的非 public 类,因此每个文件都是一个构件。如果希望这些构件(包括 .java 和 .class 文件)从属于一个群组,那么就可以使用关键字 package。package 的语法很简单,它必须是类文件中除了注释之外的第一行代码,并且全部使用小写字母,如下:

package com.model;

public class Pet {
}

这就声明了该类文件 Pet 是名为 com.test 的类库的一部分(当然,对于现在的开发者而言,已经不会手动去使用 package 关键字了,这都交给开发工具 eclipse 或者 idea 去完成了,具体可参考文章 Java 程序的构建)。任何不属于该类库的类文件并且想要使用该类文件都必须指定包的全名或者使用 import 关键字。

package com.test;

public class MyTest {
    public static void main(String[] args) {
        //通过指定全名来调用
        com.model.Pet pet = new Pet();
    }
}

或者

package com.test;

//关键字 import 使调用变得更加简洁
import com.model.Pet;

public class MyTest {

    public static void main(String[] args) {
        Pet pet = new Pet();
    }
}

Java 解释器

创建项目的时候,类文件不可能杂乱无章的放在一起,不便维护,不便查找,因此我们习惯将特定的类文件放在同一个目录下。这个目录可以帮我们解决两个问题:创建一个独一无二的名称,查找有可能隐藏于目录结构中某处的类。

Java 解释器的运行情况如下:首先,找出环境变量 CLASSPATH,这个变量可以通过安装 JDK 来设置,CLASSPATH 包含一个或者多个目录,用作查找 .class 文件的根目录。从根目录开始,解释器获取包的名称并将每个点替换成反斜杠,从而产生一个以 CLASSPATH 为根目录的一个路径名称,例如:package com.model 就变成 com\model 或 com/model 或者其他,这取决于操作系统。这样解释器就可以从这些目录中查找与类相关的 .class 文件。

当编译器碰到 model 库的 import 语句时,就开始在 CLASSPATH 所指定的目录中查找,查找子目录 com\model,然后从以编译的文件中找出名称相符者,对 Pet 而言就是 Pet.class。

欢迎关注公众号 一盐难进

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值