Java包(package)

96
Zz鱼丸
2019.06.18 14:58 字数 678

在编写 Java 程序时,随着程序架构越来越大,类的个数也越来越多,这时就会发现管理程序中维护类名称也是一件很麻烦的事,尤其是一些同名问题的发生。有时,开发人员还可能需要将处理同一方面的问题的类放在同一个目录下,以便于管理。Java 为了解决上述问题,提供了包机制。

系统包

包允许将类组合成较小的单元(类似文件夹),它基本上隐藏了类,并避免了名称上的冲突。包允许在更广泛的范围内保护类、数据和方法,可以在包内定义类,而在包外的代码不能访问该类。

包的 3 个作用如下:

  • 区分相同名称的类。
  • 能够较好地管理大量的类。
  • 控制访问范围。

在 Java 语言中,开发人员可以自定义包,也可以使用系统包,常用的系统包如表 1 所示。


表1 Java中常用的系统包

自定义包

Java 的系统包无须定义可以直接调用,当然也可以自定义包。下面来介绍自定义包的声明和使用方法。

1. 包的声明

为了声明一个包,首先必须建立一个相应的目录结构,子目录与包名一致,然后在需要放入该包的类文件开头声明包,形式如下:

package 包名;

2. 包的使用

在 Java 中,为了装载使用已经编译好的包,通常可以使用以下三种方法。

    1. 一是在要引用的类名前带上包名作为修饰符。代码如下:
bookexample.Test test = new bookexampie.Test();
其中,bookexample 是包名,Test 是包中的类名,test 是类的对象。
    1. 二是在文件开头使用 import 引用包中的类。代码如下:
    import bookexample.Test;
    1. 三是在文件前使用 import 引用整个包。如下代码将 bookexample 整个包引入:
    import bookexample.*;

Java使用自定义包

(1) 创建一个名为 com.dao 的包。
(2) 向 com.dao 包中添加一个 Student 类,该类包含一个返回 String 类型数组的 GetAll() 方法。Student 类代码如下:

    package com.dao;
    public class Student
    {
        public static String[] GetAll()
        {
            String[] namelist={"李潘","邓国良","任玲玲","许月月","欧阳娜","赵晓慧"};
            return namelist;
        }
    }

(3) 创建 com.test 包,在该包里创建带 main() 方法的 Test 类。

(4) 在 main() 方法中遍历 Student 类的 GetAll() 方法中的元素内容,在遍历内容之前,使用 import 引入 com.dao 整个包。完整代码如下:

    package com.test;
    import com.dao.Student;
    public class Test
    {
        public static void main(String[] args)
        {
            System.out.println("学生信息如下:");
            for(String str:Student.GetAll())
            {
                System.out.println(str);
            }
        }
    }

(5) 运行上一步骤的代码进行测试,最终的输出结果如下
学生信息如下:
李潘
邓国良
任玲玲
许月月
欧阳娜
赵晓慧

日记本