Java基础教程之包(package)

Java基础教程之包(package)

在 Java 中,包(package)是一种用于组织及管理类、接口及其他资源的机制。包可以看成是文件夹,类则是文件,利用类放在包中,可以更好地组织和访问代码。

包的定义

在 Java 中,一个包是一组相互关联的 Java 类的集合。

当需要用到某个类时,可以指定其完全限定名(包括包名称和类名)来引用该类,例如:

java.util.ArrayList myList = new java.util.ArrayList();

可以看到,类 ArrayList 必须包含在 java.util 包中,否则编译器会无法找到它。

类似于文件夹一样,Java 包是树状结构的。包名就是文件夹名,可以包含多层子包。

声明包名

Java 编译器要求每个源文件必须属于一个包。可以使用 package 声明来指定包名,放在源文件的第一行,例如:

package com.example.mypackage;

文件名必须和类名相同,例如 MyClass 类所在的源文件名必须是 MyClass.java。

如果一个类没有包名,这个类默认属于一个无名的默认包,不利于代码管理和重用,因此我们平时编写的类都应该有所属的包。

导入包

要使用其他包的类,必须在该类文件开头使用 import 语句导入所需包。例如:

import java.util.ArrayList;

这个语句表示我们需要在代码中使用 ArrayList 类,它属于 java.util 包。可以同时导入多个类:

import java.util.ArrayList;
import java.util.Collections;

可以使用 * 通配符导入整个包(注意通配符只能用于类名,不能用于包名),例如:

import java.util.*;

这个语句表示我们需要使用 java.util 包下的所有类。

示例一

以下示例演示了如何创建一个名为 com.example.hello 的包,以及如何导入 java.util 包下的 ArrayList 和 Date 两个类。

package com.example.hello;

import java.util.ArrayList;
import java.util.Date;

public class HelloWorld {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("Hello");
        list.add("World");
        System.out.println(list + " " + new Date());
    }
}

以上代码中,我们创建了一个 HelloWorld 类并使用了 ArrayList 和 Date 两个类。需要注意的是,在这里 ArrayList 和 Date 类都没有使用全限定名,因为它们已经被导入到类文件中,可以直接使用。

示例二

以下示例演示了如何在包内部创建子包,并使用子包内的类。

在 com.example.hello 包中创建一个名为 utils 的子包,HelloWorld 类使用该子包下的 StringUtils 类。

package com.example.hello;

import com.example.hello.utils.StringUtils;

public class HelloWorld {
    public static void main(String[] args) {
        String s = "Hello World";
        System.out.println(StringUtils.reverse(s));
    }
}

然后我们还需要创建 com.example.hello.utils 包,并在其中创建 StringUtils 类实现字符串翻转的功能。实现代码如下:

package com.example.hello.utils;

public class StringUtils {
    public static String reverse(String s) {
        return new StringBuilder(s).reverse().toString();
    }
}

在 HelloWorld 类中,我们使用 import com.example.hello.utils.StringUtils; 导入了字符串翻转的方法。其实,完全限定名是 com.example.hello.utils.StringUtils,也可以这样使用:

String s = "Hello World";
System.out.println(com.example.hello.utils.StringUtils.reverse(s));

总结

包是 Java 编程中重要的组织和管理机制。定义包,需要使用 package 关键字。使用包,需要使用 import 关键字。包名的命名规范遵循域名反转的原则。当一个包需要被访问时,需要在包级别上设置访问权限。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java基础教程之包(package) - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • java LeetCode普通字符串模拟题解示例

    Java LeetCode普通字符串模拟题解示例攻略 1. 题目简述 本题是一道字符串模拟题目,要求实现一个String模拟类,具有以下功能: 初始化操作:构造函数接受一个字符串作为参数,将其存储在对象中。 获取字符串操作:实现一个charAt方法,接受一个整数索引index,返回字符串指定位置的字符;实现一个substring方法,接受两个整数索引star…

    Java 2023年5月19日
    00
  • SpringBoot LocalDateTime格式转换方案详解(前端入参)

    针对SpringBoot LocalDateTime格式转换方案的详细攻略,我们可以分为以下几个步骤进行讲解: 1. 引入相关依赖 首先在pom.xml中引入相关依赖: <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId…

    Java 2023年6月2日
    00
  • 详解Java中的线程让步yield()与线程休眠sleep()方法

    我们来详细讲解一下Java中线程让步(yield())和线程休眠(sleep())方法的用法和区别。 一、线程让步(yield()) 线程让步是指让出当前线程对CPU的占用权,使得其他等待执行的线程有机会运行。Java中提供了线程让步的方法yield()。 其语法格式如下: public static void yield() 实例: 下面是一个简单的示例,…

    Java 2023年5月19日
    00
  • Java实现办公文档在线预览功能

    实现Java办公文档的在线预览功能需要完成以下步骤: 步骤一:选择合适的文件预览解决方案 Java实现办公文档在线预览功能需要使用第三方工具来解析文档文件,目前比较流行的解决方案有如下几种: LibreOffice:可实现对多种文档格式的解析,包括Microsoft Office文件,OpenOffice文件,PDF文件等等。 Aspose.Words:仅支…

    Java 2023年5月19日
    00
  • hadoop 全面解读自定义分区

    Hadoop 全面解读自定义分区 什么是分区 在 Hadoop 中,分区是指在将数据写入到 HDFS 中时,对数据进行分类以便于管理。在每个分区中,都包含了一部分数据,每个分区都有一个固定的编号。 默认分区 当我们使用 Hadoop 内置的 MR 程序时,所有的数据都将会按照默认的哈希分区规则进行分区。一般情况下,分区的数量是由系统自动计算的。 自定义分区 …

    Java 2023年5月20日
    00
  • 关于Java虚拟机HotSpot

    关于Java虚拟机HotSpot完整攻略 Java虚拟机(JVM)是Java语言的核心组件之一,它是Java语言跨平台特性的基石。HotSpot是目前最流行的Java虚拟机之一,它是由Sun Microsystems公司开发的,现在则由Oracle维护。本文将详细介绍HotSpot的概念、工作原理、性能调优和问题排查。 HotSpot的概念 HotSpot是…

    Java 2023年5月26日
    00
  • JDBC Template基本使用方法详解

    JDBC Template基本使用方法详解 JDBC Template简介 JDBC(Java Database Connectivity)是一个Java语言访问数据库的接口,JDBC Template是使用JDBC进行数据库操作的常用工具类,该类能够自动化处理资源申请、资源释放等常规流程,并提供了诸如CRUD、批量操作、分页查询等常用数据库操作方法,使用J…

    Java 2023年6月16日
    00
  • java控制台实现可视化日历小程序

    下面我将详细讲解“Java控制台实现可视化日历小程序”的完整攻略。 1. 程序开发环境准备 首先,我们需要安装Java JDK。建议安装1.8及以上版本。 安装完成后,我们新建一个Java控制台项目,在项目中新建一个Main类,并在该类中进行编码实现。 2. 实现获取指定年月的日历数据 在Java中,可以通过java.util.Calendar和java.u…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部