Java 包语句,看这一篇就够了

1.设计的文件层级

我们将“Package”文件夹称为根目录,“Level01”称为一级目录,“Level02”称为二级目录,以此类推。

2.发现在不同目录下的包名有如下特征:

  • 根目录下的文件不需要包名,可以理解成包名为 “”
  • 一级目录下包名为 “Level01”
  • 二级目录下包名为 “Level01.Level02”
  • 三级目录下包名为 “Level01.Level02.Level03”
  • 四级目录下包名为 “Level01.Level02.Level03.Level04”

如图:

……

3.包对于使用命令行编译运行Java的影响

  • 根目录下:命令行所处位置:Package , 命令行“java test.java”,

    ⚠️:必须带上后缀".java"

    ⚠️:对于单个Java源文件可以直接运行而无需编译

    ⚠️:主类必须是文件的第一个类

  • 一级目录下:命令行所处位置:Level01,命令行“java test01.java”

    ⚠️:与上同

    一级目录下 :命令行所处位置:Package,命令行“java Level01/test01.java”

    ⚠️:与上同

    一级目录下:命令行所在位置:Package,命令行”javac Level01/test01.java“

    +“ java Level01.test01”

    ⚠️:第二条语句不能带后缀“.java”

    ⚠️:主类可以不是第一个类

    ⚠️:需要对源文件进行编译

  • 二级目录下:命令行所在位置:Level02,命令行“java test02.java”

    ⚠️:必须带上后缀".java"

    ⚠️:对于单个Java源文件可以直接运行而无需编译

    ⚠️:主类必须是文件的第一个类

    二级目录下:命令行所在位置:Level01,命令行“ java Level02/test02.java”

    ⚠️:同上

    二级目录下:命令行所在位置:Level01,命令行“javac Level02/test02.java”+“java Level02.test02”

    ⚠️:该命令组合无法成功运行

    二级目录下:命令行所在位置:Package,命令行“javac Level01/Level02/test02.java”+“javac Level01.Level02.test02.java”

    ⚠️:第二条语句不能带后缀“.java”

    ⚠️:主类可以不是第一个类

    ⚠️:需要对源文件进行编译

……

综上,我们可以发现,有两种方式可以运行Java文件:

  1. "java 相对当前命令行位置的文件路径",比如命令行在“Level01”,那"test02.java“的相对路径就是“Level02/test02.java”

    这种方式的缺陷很明显,就是只能针对单个Java源文件,而且主类必须是源文件的第一个类

  2. "javac 相对根目录的文件路径"+“java 文件包名”,比如根目录是“Package,那么相对路径就是“Level01/Level02/test02.java”,其中包名就是将相对路径的的“/”换成".",同时去掉文件后缀名“.java”

    这种方式意味着命令行的位置需在“文件相对路径的第一个文件夹的上一个目录”处

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/700411.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GPT-4o,AI实时视频通话丝滑如人类,Plus功能免费可用

不开玩笑,电影《她》真的来了。 OpenAI最新旗舰大模型GPT-4o,不仅免费可用,能力更是横跨听、看、说,丝滑流畅毫无延迟,就像在打一个视频电话。 现场直播的效果更是炸裂: 它能感受到你的呼吸节奏&#xf…

【万字面试题】Redis

文章目录 常见面试题布隆过滤器原理和数据结构:特点和应用场景:缺点和注意事项:在python中使用布隆过滤器 三种数据删除策略LRU (Least Recently Used)工作原理:应用场景: LFU (Least Frequently Used)工作原理&#x…

鸿蒙原生应用数量激增20倍,鸿蒙生态“一路狂奔”!

过去几个月,在各地政府和千行百业伙伴的全面支持下,鸿蒙生态建设正在以前所未有的速度和规模蓬勃发展。 鸿蒙生态跑出“加速度”,再迎里程碑进展 从1月华为宣布首批200多家应用厂商加速开发鸿蒙原生应用以来,到3月底已有超4000款…

论Java和C++方向选择

目录 1.难度2.就业压力3.岗位选择4.薪资待遇5.选择建议小结 1.难度 Java ,C, 测开,整体来说三个方向难度相当。 1.仅从语法角度来看,c 是掌控一切,知识都要懂一点,而java的特点在于省心,都封装…

React useEffect Hook: 理解和解决组件双重渲染问题

在React中,useEffect可能会在组件的每次渲染后运行,这取决于它的依赖项。如果你发现useEffect运行了两次,并且你正在使用React 18或更高版本的严格模式(Strict Mode),这可能是因为在开发模式下,…

Verilog代码bug:一种特殊的组合逻辑环

Verilog代码bug:一种特殊的组合逻辑环 组合逻辑环(Combinational Loop)是什么,别的文章已经写的很多了,本文就不赘述了,本文主要记录遇到过的一种特殊的逻辑环; 代码如下所示: mo…

Element-UI 快速入门指南

文章目录 一、安装 Element-UI1.1 使用 npm 安装1.2 使用 yarn 安装 二、引入 Element-UI三、使用 Element-UI 组件3.1 按钮组件3.2 输入框组件3.3 表单组件3.4 表格组件3.5 弹框组件 四、自定义主题4.1 安装主题工具4.2 初始化变量文件4.3 编译主题 五、总结 🎉欢迎…

OpenAI发布新品GPT-4o,电影《HER》演绎的世界真的来了!

5月14日,OpenAI宣布推出最新旗舰生成式AI模型GPT-4o,它可以实时处理音频、视觉、并对文本进行推理。可以说这是一种全新的交互模式,它完美复刻电影《Her》的世界,标志着人工智能全感知时代的到来。 GpuMall智算云 | 省钱、好用、…

爆款预警!2024年必火的五大软件应用,你准备好了吗?

2024年必火的五大软件应用可以从多个角度进行预测。首先,人工智能(AI)的应用将继续扩大其在软件开发和用户体验改善中的作用。AI技术被用于改善用户体验,如聊天机器人,创建数据驱动的战略和决策,预测趋势以…

解决使用Vue.js前端与Flask后端API交互时跨源资源共享问题

我在使用flask以及Vue做一个项目时遇到了Vue前端与Flask后端API交互的问题就是前端获取不到后端返回的数据,报错: 上网查说是跨域问题,于是找了一些解决办法,就是可以通过设置响应头的 Access-Control-Allow-Origin 字段来允许所有…

基于svpwm(羊角波)控制策略的二极管钳位型三电平逆变器双闭环simulink仿真

本人搭建了基于svpwm(羊角波)控制策略的二极管钳位型三电平逆变器双闭环simulink仿真模型,该模型按照三电平SVPWM理论生成羊角波,并搭建了双闭环控制系统。效果十分优异,配置参考文献,适合学习使用。 DC&a…

jar包安装成Windows服务

一、前言 很多年前写过一篇《使用java service wrapper把windows flume做成服务》的文章,也是把jar包安装成windows服务,今天介绍另外一种更简便的方案。 二、正片 这次使用的工具是 winsw,一个Windows服务包装器。下面看详细介绍 首先从g…