按功能组织类

JavaBeginner
立即练习

介绍

在本实验中,你将学习如何使用包(packages)来根据功能对类进行组织。

包(Packages)

到目前为止,我们已经编写了许多类。对于一个大型项目,可能会有数百个类,如此多的文件和类不容易组织,不同的程序员可能会编写不同的类,有时可能会出现项目中存在同名类的情况。那么如何避免这些问题呢?我们可以使用包(packages)。Java 库被划分为多个包,包括 java.lang,它包含了我们目前使用的大多数类。包是相关类型(types)的分组,提供了访问保护和命名空间管理。注意,这里的类型指的是类(classes)、接口(interfaces)、枚举(enumerations)和注解类型(annotation types)。

要创建一个包,需要为包选择一个名称,并在每个源文件的顶部放置一个包含该名称的 package 语句,这些源文件包含你想要包含在包中的类型。package 语句必须是源文件的第一行。每个源文件中只能有一个 package 语句。

要从包外部使用一个公共的包成员,你必须执行以下操作之一:

  • 使用完全限定名引用该成员
  • 导入该包成员
  • 导入该成员的整个包

示例

/home/labex/project/com/example/demo/packageDemo.java 文件中编写以下代码:

package com.example.demo;  // 创建一个新包

public class packageDemo{
    public static void test(){
        System.out.println("This is a package test.");
    }
}

/home/labex/project/packageTest.java 文件中编写以下代码:

import com.example.demo.packageDemo;
class packageTest{
    public static void main(String[] args){
        packageDemo.test();
    }
}

输出:

使用以下命令运行 packageTest.java 文件:

javac /home/labex/project/packageTest.java
java packageTest

查看输出:

This is a package test.

总结

包(Packages)为我们提供了一种将具有逻辑关系或实现某些特殊功能的类组织在一起的方式。通过使用包,我们可以避免命名冲突。你可以将自己的代码打包成包提供给他人,或者从互联网上获取他人的包。这为我们的编码提供了更多的便利。