返回顶部
首页 > 资讯 > 后端开发 > Python >java编程小白进阶包的作用详解
  • 112
分享到

java编程小白进阶包的作用详解

2024-04-02 19:04:59 112人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录步骤 1  工具包里面有很多个工具类步骤 2  StringUtil步骤 3  目前的情况步骤 4  CLASSPATH步骤 5 

包的作用,1是为了防止类和方法的重名,2是为了管理众多的java类。

步骤 1  工具包里面有很多个工具类

之前讲了打印数据的方法:System.out.println,写这么多字有点麻烦啊。那么我们不妨创建一个StringUtil,Util是工具的意思,里面设计一个newLine方法,用于字符串的打印。

StringUtil是一个工具类,应该放在一个叫做tool的工具包里面。这个tool就是一个文件夹,我暂时把它创建在D盘的根目录。

image

步骤 2  StringUtil

image

创建一个StringUtil.java,不必考虑编码的问题,现在肯定是ANSI,其实就是GBK,除非你用的系统不是简体中文。反正它是支持中文的,用Editplus打开,敲入以下的代码:


class StringUtil
{
	public static void newLine(String msg){
		System.out.println(msg);
	}
}

用javac去编译它,得到.class文件。

image

步骤 3  目前的情况

目录结构是这样的:

image

我们的程序在java18文件夹,现在想要调用tool文件夹中的StringUtil里面的newLine方法。

修改Demo.java


class Demo {
   public static void main(String[] args){	
	StringUtil.newLine("StringUtil -> newLine");	    
   }
}

编译代码:

image

说是找不到符号,也难怪,JVM怎么知道有一个StringUtil类呢?

步骤 4  CLASSPATH

如果你学过java,有一定的Java基础,那么你一定知道CLASSPATH的大名。所谓的CLASSPATH,是class和path两个单词,表示“类路径”。就是你告诉JVM,哪些文件夹是我存放类(class文件)的路径。

这个玩意,也是需要配置环境变量的,还记得配置jdk环境变量的步骤吗?

现在来配置CLASSPATH环境变量,如果不记得,可以回去看下之前的章节。

image

步骤 5  具体配置

image

我们一般都是admin用户登录的,所以直接新建系统变量,我们把D盘根目录配置进去,还有一个句点。

D:;.;

左边的D:\代表D盘根目录,右边的小句点,代表当前的那个目录。比如你要在java18文件夹里面去java一下Demo,那么JVM得需要知道当前的目录是java18文件夹。

CLASSPATH这玩意,你要么不配置,不配置就默认是当前目录,一旦配置了,就别忘记加个小点号。

我怕大家不明白,再啰嗦一下,这个配置的意思就是所有的类路径。我们这样配置了以后,JVM会去把D盘根路径,还有你执行程序的当前目录当做根路径,这个待会还会细说。

步骤 6  package

D盘的根目录是我们的类路径,已经配好了。可是StringUtil不在D盘的根目录啊,而在D盘里面一个叫做tool的文件夹。为了让JVM能够知道,我们还得修改StringUtil,加上package。


package tool;
class StringUtil
{
	public static void newLine(String msg){
		System.out.println(msg);
	}
}

步骤 7  验证

tool文件夹也叫做包,现在我们来做验证,给StringUtil加一个main方法。


package tool;
class StringUtil
{
	public static void newLine(String msg){
		System.out.println(msg);
	}

	public static void main(String[] args){
		newLine("StringUtil");
	}
}

用EditPlus的Ctrl+1编译,然后在外面打开CMD黑窗口,不需要进入D盘,直接输入命令。

image

tool.StringUtil,这个“.”很有灵性,JVM会把“.”翻译成\。

因为CLASSPATH里面有D:\,所以最终找到的位置是:D:\tool\StringUtil

这下,就很清楚了吧。

步骤 8  亲自做一遍

强烈建议把上面的实验自己做一遍,我相信很多人都不注重这个原理,因为idea真香。但是吧,身为程序员,还是要知道一点的,以后出去吹牛逼也有东西不是?

步骤 9  为什么现在用Editplus运行报错了?

你可以试一下,在Editplus里面运行StringUtil,会报错的。

image

原因很简单,因为你加了package


package tool;

你不加的话,就是一个默认的包(default package),也就是CLASSPATH里面所有的路径。你一旦加上这句话,那么运行的时候,JVM就得上纲上线,先去CLASSPATH里面找,然后对应着,看看里面是不是有个tool文件夹。你直接运行是啥意思啊,意思就是你打算直接在CLASSPATH里面找一个StringUtil.class去运行。可是D盘没有这个StringUtil.class,当前目录到是有,可人家开头有一句package tool啊,它认为自己是在D:\tool下面的,也不肯给你运行,所以就找不到了。

除非,你把package tool;去掉。

步骤 10  说白了

说白了,刚才的语句就是


java StringUtil

不加任何包,全裸的,这就叫做默认包(default package),默认包就是你CLASSPATH配置的那些地方。

步骤 11  包的作用

最后了,点题哈,包的作用有两个,1是防止类重名,方法重名。比如,我们写了StringUtil,但是据我所知,很多第三方jar包都有StringUtil,如果不用package来区分,那岂不是乱套了?

2是为了更好的管理class文件,毕竟,你一个项目有很多个class,成百上千个都有可能,不用package来分类,那这个项目还怎么维护啊?

以上就是java编程小白进阶包的作用详解的详细内容,更多关于java包的作用的资料请关注编程网其它相关文章!

--结束END--

本文标题: java编程小白进阶包的作用详解

本文链接: https://lsjlt.com/news/154530.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • java编程小白进阶包的作用详解
    目录步骤 1  工具包里面有很多个工具类步骤 2  StringUtil步骤 3  目前的情况步骤 4  CLASSPATH步骤 5 ...
    99+
    2024-04-02
  • java编程进阶小白也能手写HashMap代码
    目录什么是HashMapHashCode和数组Hash碰撞toString方法百万级数据压测步骤 1 来100w条数据,看看要花多久?步骤 2 设计思路步骤 3 添加一个size步骤...
    99+
    2024-04-02
  • 小白的python进阶历程------0
    作为一名小白, 在此仅分享一下自己学习python的过程,如有遗漏或是不对的地方欢迎批评指导(注:本文只针对新手小白,各路大神请谨慎观看,谢谢) 注:使用版本python3.7,编辑器pycharm(以下所有代码仅适用于python3,...
    99+
    2023-01-30
    进阶 历程 python
  • 【Java 进阶篇】JDBC查询操作详解
    在数据库编程中,查询是一项非常常见且重要的操作。JDBC(Java Database Connectivity)提供了丰富的API来执行各种类型的查询操作。本篇博客将详细介绍如何使用JDBC进行查询操作,包括连接数据库、创建查询语句、执行...
    99+
    2023-12-23
    java 开发语言 sql mysql 数据库 git windows
  • 编程小白必读:ASP编程算法与IDE重定向的详解
    ASP(Active Server Pages)是一种用于动态生成Web页面的服务器端脚本语言,它可以让程序员在HTML中嵌入脚本,以实现动态页面的效果。在ASP编程中,算法和IDE重定向是非常重要的概念,本文将为你详细解析这两个概念。 ...
    99+
    2023-09-03
    编程算法 ide 重定向
  • JavaScript进阶知识点作用域详解
    目录JavaScript进阶讲解一一、浏览器的内核1.常见的浏览器内核二、JavaScript引擎2.1.为什么需要JavaScript引擎?2.2.常见的JavaScript引擎三...
    99+
    2024-04-02
  • java开发Activiti进阶篇流程实例详解
    目录1.流程实例1.1 什么是流程实例1.2 业务管理1.3 流程实例的挂起和激活1.3.1 全部流程挂起1.3.2 单个实例挂起1.流程实例 1.1 什么是流程实例 流程实例(Pr...
    99+
    2022-11-13
    java Activiti流程实例 java Activiti
  • Java数据结构中图的进阶详解
    目录有向图有向图API设计有向图的实现拓扑排序拓扑排序图解检测有向图中的环检测有向环的API设计检测有向环实现代码基于深度优先的顶点排序顶点排序API设计顶点排序实现代码:有向图 有...
    99+
    2024-04-02
  • C语言编程数据结构基础详解小白篇
    目录数据结构的基本信息数据结构逻辑结构1,集合结构2,线性结构3,树结构4,图结构或网结构存储结构顺序储存结构链式储存结构抽象数据类型介绍 数据结构的基本信息 数据:是客观事物的符...
    99+
    2024-04-02
  • Java小白第一次就能看懂的网络编程
    目录一、网络基础二、网络协议URL类一、网络基础 二、网络协议 实现TCP的网络编程 例子1:客户端发送信息给服务端,服务端将数据显示在控制台上 public cl...
    99+
    2024-04-02
  • C/C++中I/O进阶详解及其作用介绍
    目录概述I/O 类库I/O 中的重载流对象标准输入流cin 流对象案例get 函数getline 函数eof 函数cout 流对象cerr 流对象clog 流对象概述 C++ 的输入...
    99+
    2024-04-02
  • 小程序进阶-env(safe-area-inset-bottom)的使用
    一、简介 env(safe-area-inset-bottom)和env(safe-area-inset-top)是CSS中的变量,用于获取设备底部和顶部安全区域的大小。 所谓的安全区域就是指在iPh...
    99+
    2023-10-08
    小程序
  • 打包进阶技巧:Java 程序员必备的打包技巧大揭秘
    打包是 Java 开发中一个非常重要的环节,它是将代码转化为可执行文件的过程。一个好的打包方式不仅可以提高程序的运行效率,还能提高程序的安全性和稳定性。在本文中,我们将为大家介绍几个 Java 程序员必备的打包技巧,以帮助大家更好地掌握打包...
    99+
    2023-09-28
    异步编程 打包 load
  • 详解Java事件编程的使用
    Java事件编程 当前在线网店很多,很涉及商品管理和销售的问题,比如: 一,在商品库存管理的商品增加时,我们主要业务时编辑保持商品信息, 同时因商品增加而附带有一些“非主要业务”,...
    99+
    2024-04-02
  • 小白pe一键装机教程的详细解答
    近来有不少网友询问重装系统的方法,随着科技的发展,大家对于电脑的了解逐渐深入,有些小伙伴就想自己重装系统。今天,我就给大家介绍一下小白pe一键装机教程,赶紧来瞧瞧吧。1、我们下载一个小白软件,然后选择了安装win7系统。2、接着就等待系统镜...
    99+
    2023-07-14
  • Java反射魔法揭秘:动态编程的进阶之路
    反射是Java语言中的一项强大功能,它允许程序员在运行时动态地检查和修改类的行为。通过使用反射,可以实现许多有趣的功能,比如: 动态加载类 动态创建实例 动态调用方法 动态修改字段值 动态生成代理类等 反射在Java开发中非常有用,...
    99+
    2024-02-02
    Java 反射 动态编程 动态加载 动态创建 动态调用
  • Lambda 的进阶之路:Java 高级函数式编程技巧
    函数式编程 (FP) 是一种编程范式,它强调不改变状态,而是使用纯函数和不可变数据结构。FP 编程模型摒弃了共享状态、变量赋值和循环,提倡使用不变值、函数式组合和高阶函数。 Lambda 表达式 Lambda 表达式是 Java 8 中引...
    99+
    2024-04-02
  • Lambda 的大师之路:Java 函数式编程专家进阶
    Java 8 的引入标志着函数式编程 (FP) 在 Java 生态系统中的兴起。Lambda 表达式作为 FP 的关键概念,为开发人员提供了简洁且高效的方式来编写代码。对于渴望在 Java 中掌握 FP 的开发人员来说,Lambda 是必...
    99+
    2024-04-02
  • MySQL更新删除操作update和delete使用详解(小白慎用)
    目录引言1、UPDATE2、DELETE引言 “ 这是mysql系列笔记的第十一篇,文章内容均为本人通过实践及查阅资料相关整理所得,可用作新手入门指南,或者个人知识点查阅。” 这...
    99+
    2023-05-20
    MySQL更新删除操作 MySQL update delete
  • sublimetext3搭建配置c语言编译环境的详细图解教程(小白级)
    目录使用sublime text3编译c语言部分准备工作配置环境变量新建sublime text3的c语言编译环境举例软件下载可以在官网下载,均为免费软件有问题可以联系我邮箱求助:s...
    99+
    2023-01-16
    sublime text3配置c语言编译环境 sublime text3搭建c语言环境
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作