Java的包:提高代码可维护性和可扩展性的神器

news/2025/1/7 21:51:15/

🧑‍💻CSDN主页:夏志121的主页

📋专栏地址:Java基础+进阶+核心技术专栏

目录

🍔 一、包名

🧆 二、类的导入

🥘 三、静态导入

🥘 四、在包中增加类

🍱 五、包访问、类路径及设置类路径


        Java允许使用包(package)将类组织在一个集合中。借助包可以方便地组织你的代码,并将你自己的代码与其他人提供的代码库分开

🍔 一、包名

        包名是Java中唯一的标识符,它是一个由小写字母、数字和下划线组成的字符串,每个包名都是唯一的。包名的命名规范是以域名反转作为前缀,例如com.example,这样可以避免包名冲突。

注意:从编译器角度来看,且套的包之间没有任何关系。例如,java.util包与java.util.jar包毫无关系。每一个包都是独立的类集合。

🧆 二、类的导入

        在Java中,如果想要使用一个类,需要先导入该类。导入类的方式有两种,一种是使用import语句,另一种是使用全限定类名

使用import语句导入类的语法如下:

import java.time.*;

使用全限定名导入类的语法如下:

java.time.LocalDate today = java.time.LocalDate.now();

🥘 三、静态导入

Java 5引入了静态导入,它可以让我们在代码中直接使用静态成员,而不需要使用类名来限定。静态导入的语法如下:

import static package.name.ClassName.*;

这样就可以在代码中直接使用ClassName中的静态成员,例如:

import static java.lang.Math.*;
...
double x = sqrt(2);

🥘 四、在包中增加类

        在Java中,我们可以将类组织在包中,这样可以更好地管理类和避免命名冲突。要在包中增加类,只需要在包的目录下创建一个.java文件,并在文件中定义类。

        例如,如果要在com.example包中增加一个名为MyClass的类,可以在com/example目录下创建一个MyClass.java文件,并在文件中定义MyClass类。

注意:编译器处理文件(带有文件分隔符合扩展名.java的文件),而Java解释器加载类(带有 . 分隔符)。

🍱 五、包访问、类路径及设置类路径

        在Java中,包访问是指只有在同一个包中的类才能访问该类的成员。如果要让其他包中的类访问该类的成员,需要将该成员声明为public或protected

        类路径是指JVM用来搜索类文件的路径,它可以包含多个目录或JAR文件。当我们使用Java命令来运行一个类时,JVM会在类路径中搜索该类的.class文件

设置类路径

        在Java中,可以通过设置CLASSPATH环境变量来设置类路径。例如,如果要将类路径设置为/home/user/myclasses目录和/home/user/mylib.jar文件,可以使用以下命令:

export CLASSPATH=/home/user/myclasses:/home/user/mylib.jar

也可以在运行Java命令时指定类路径,例如:

java -classpath /home/user/myclasses:/home/user/mylib.jar MyClass

        这样就可以将类路径设置为/home/user/myclasses目录和/home/user/mylib.jar文件,并运行MyClass类。


http://www.ppmy.cn/news/98966.html

相关文章

R语言实践——使用rWCVP在WCVP中匹配名称

使用rWCVP在WCVP中匹配名称 加载库工作流1. 示例数据:IUCN红色名录2. 将匹配的名称解析为接受名2.1 模糊匹配2.2 多项匹配2.3 将评估与接受的名称相关联 3. 可视化匹配过程4. 得到最终数据集 加载库 世界维管植物名录提供了所有已知维管植物物种的全球共识观点&…

SpringBoot集成ElasticSearch

文章目录 前言一、ElasticSearch本地环境搭建二、SpringBoot整合ElasticSearch1.pom中引入ES依赖2.application.yaml配置elasticsearch3.ElasticSearchClientConnect连接ES客户端工具类4.ElasticSearchResult封装响应结果5.Person实体类6.Person实体类7.ElasticsearchControlle…

const

关键字const用来定义常量,如果一个变量被const修饰,那么它的值就不能再被改变。 const的存在一定有它的合理性,const修饰符有以下的优点: 预编译指令只是对值进行简单的替换,不能进行类型检查可以保护被修饰的东西&…

2023年最新无脑安装 Go lang 环境配置并编写、运行、打包第一个 Golang 程序详细步骤,附带图文教程

GO语言也称为Golang,由谷歌出品,随着云计算的发展而不断壮大,近年来,使用GO语言的程序员越来越多,GO程序员一般被称为GOpher。GO语言在语法上与C语言相类似,GO语言有以下的特点: 开源 &#xf…

多线程和多进程

线程和进程 最近经常看到多线程和多进程,这两个概念在某些方向还是很像的,但是进程和线程到底有啥联系,又有啥区别,很多人并没有完全弄明白,最近学操作系统的时候,老师经常叫线程为进程的进程,…

Go语言实现JDBC

Go语言操作数据库 Go语言提供了关于数据库的操作,包下有sql/driver 该包用来定义操作数据库的接口,这保证了无论使用哪种数据库,操作方式都是相同的; 准备工作: 下载驱动 需要在代码所在文件夹下执行相应的命令 go get github.com/go-sql-driver/mys…

RocketMQ 学习教程——(一)安装 RocketMQ

文章目录 RocketMQ 安装下载安装上传服务器配置环境变量修改 runserver.sh修改 runbroker.sh修改 broker.conf启动 安装 RocketMQ 控制台安装Linux 防火墙命令 Docker 安装 RocketMQ拉取镜像启动 NameServer 服务启动 Broker 服务启动控制台 RocketMQ 官网: http://…

老板让你Excel统计数据无从下手?没事,ChatGPT来帮你!

系列文章目录 老板让你写个PPT没有头绪?没事,ChatGPT来帮你!传送门 文章目录 系列文章目录前言一、不会公式?帮你生成二、不会处理数据?帮你处理写在最后 前言 自从人工智能横空而出,它在人们的生活中产生…