上一篇文章介绍了如何运行了第一个Java程序“Hello World”。然而这个开发环境看起来那么陌生,一个个名字符号完全不知道它们是干啥的呀,对于初学者来说,好比天书一般,多看几眼感觉都要走火入魔了。因此接下来还是好好分析一下Java工程的总体结构,理清这些文字符号的来龙去脉才好。
话说宇宙原本一片混沌,分不清天南地北,多亏了盘古开天辟地,轻且清的物质上浮成为天空,重且浊的物质下沉变做地壳,于是才有了一个万物生长的星球。那在Java世界当中,这个星球便是工作空间,每次打开Eclipse,都会弹出启动窗口Launcher,如下图所示。

可见该窗口仅仅指定工作空间Workspace的目录路径,单击Launch按钮即可进入Eclipse的主界面。工作空间指定了一块硬盘区域,空间里的所有文件都位于该区域内部,犹如山川河流纵横于星球内。在这日月争辉的星球上,飞鸟走兽你追我跑,可是一片莽荒产生不了什么价值,还得进行开发才行。程序员作为这个星球的创造者,自然需要负责开疆拓土和建立秩序,接下来的事情就是创建国家机器了,对应到Java开发则叫做创建Java工程,每个工程都能单独运行,恰如每个国家都能单独发展一样。在Eclipse的顶部菜单栏依次选择“File”→“New”→“Project”,会弹出如下所示的项目创建窗口。

在该窗口选中“Java Project”,然后单击窗口底部的Next按钮,跳到下一个窗口页,如下图所示。

在该页面的“Project name”输入框中填写项目名称(可以理解为国家名称)。注意到输入框下方的Location目录,这便是Java工程所处的工作空间,就像这个国家位于哪个星球之上。再下面的JRE区域,可以选择不同的Java版本,版本号越大的表示版本越新越高级,好比一个国家有不同的社会发展阶段,有原始社会、奴隶社会、封建社会、资本主义社会等等,Java版本也在不断地更新换代,版本越高表示技术越进步。确认完工作空间和Java版本,接着单击窗口下方Finish按钮,完成项目创建操作。

一个国家毕竟太大了,还得划分行政区划,分而治之才管得过来,所以Java工程也要层层划分,划分后的组织机构称作“包”package。说是“包”,其实更像“树”,犹如树干到树枝到树叶这般开枝散叶。最顶层的组织,是这个国家的国体,有叫帝国com的,有叫王国net的,有叫邦国org的,还有叫书院edu的,甚是热闹。常见的Java工程,一般来自帝国时代,因此包名开头通常是com。国家政权下面,又有郡县制,抑或是省市制,总之要再分几级,故而com下面还会有xxx.xxx.xxx之类。譬如曹操是沛国谯县人,那他在东汉帝国这个Java工程里的位置是com.donghan.peiguo.qiaoxian;刘备是涿郡涿县人,那他的位置是com.donghan.zhuojun.zhuoxian;孙权是吴郡富春人,他的位置便是com.donghan.wujun.fuchun,依此类推。
有了包这种组织架构,现在可以往里面填充真材实料了,在一县土地之上,既有官府建造的城池,也有农民聚居的村落,每个聚集地都如同一个Java的代码文件。作为一座城池,首先要具备三要素,即:它归属哪个地区?它的名称是什么?它的范围有多大?一个合格的Java代码文件就要在文件内容中清楚地写明上述三个要素。以“关羽败走麦城”的麦城为例,经查史料得知,麦城在东汉时归属南郡当阳县,那么它应当位于包com.donghan.nanjun.dangyang之下。展开Java示例工程的com.donghan.nanjun.dangyang,右击它并在右键菜单中依次选择“New”→“Class”,弹出Class文件的创建窗口如下图所示。

在窗口中部的Name输入框中填写城池名称“Maicheng”,然后单击窗口底部的Finish按钮,完成代码文件Maicheng的创建操作。自动生成的代码文件内容如下所示:

package com.donghan.nanjun.dangyang; // 东汉帝国南郡当阳县public class Maicheng {
}

由以上代码可见,第一行指定了这个代码文件所处的包路径是com.donghan.nanjun.dangyang;第三行的Maicheng则表示麦城这座城池的名称,Maicheng前面的class表示城池类型;而Maicheng后面的左右花括号就是该城池的城墙了,凡是在花括号内部的代码,都属于该城池的管辖范围。

前面运行“Hello World”的时候,代码里面有个main方法,这个main方法好比城门,打开城门就能访问城里的人物了。城里有官衙、有市场、有民居,这些建筑都有围墙,也都能用花括号界定它们的区域范围。正所谓小城故事多,城里发生的事情,要一件一件记录下来,可不能弄混淆了。对每件事情、每个动作,Java代码也有相应的标点区分开来。古代每十里设置一长亭,每五里有一短亭,供行人何处,亲友远行常在此话别。这个分隔用的长亭,对应Java代码里面的冒号,而短亭则对应Java代码的逗号。有了逗号和冒号,Java代码讲起故事来方能井井有条、头头是道。
下面来个具体的Java代码例子,东汉建安九年(204年),曹操平定袁绍势力后,开始在魏郡邺县营建邺城,由此拉开了邺城作为六朝古都的序幕。邺城共有七个城门,其中正南门名叫凤阳门,城内建筑最有名的当数铜雀台,另有金虎台、冰井台与之齐名。现在给邺城创建对应的代码文件Yecheng.java,并把它放在魏郡邺县这个包下,也就是com.donghan.weijun.yexian这个package之下。游客从凤阳门这个main方法进入邺城,一路先后参观了铜雀台、金虎台和冰井台,游览路线是tongquetai→jinhutai→bingjingtai。这样便勾勒出Yecheng(邺城)这座城池的大概风貌了,详细的Java代码例子如下所示:

package com.donghan.weijun.yexian; // 东汉帝国魏郡邺县public class Yecheng {public static void tongquetai() {System.out.println("这里是铜雀台。");}public static void jinhutai() {System.out.println("这里是金虎台。");}public static void bingjingtai() {System.out.println("这里是冰井台。");}public static void main(String[] args) {System.out.println("欢迎来到魏国的都城——邺城。");System.out.println("这里是邺城的正南门——凤阳门。");tongquetai();  // 参观朱雀台jinhutai();  // 参观金虎台bingjingtai();  // 参观冰井台}
}

接着在该代码文件内部右击,并在右键菜单中依次选择“Run As”→“Java Application”,表示运行这段Java代码。运行结果可以在界面下方的Console窗口中观察,如下图所示。

由此可见游客从凤阳门进入邺城,依次参观了铜雀台、金虎台、冰井台几个景点。看起来代码逻辑的主要意思都在了,细节上面可能有一些陌生的地方,不过不用担心,后面的文章将会逐步拨开迷雾。

转载于:https://www.cnblogs.com/pinlantu/p/9704178.html

Java开发笔记(二)Java工程的帝国区划相关推荐

  1. (硅谷课堂项目)Java开发笔记4:前端基础知识(二)

    文章目录 (硅谷课堂项目)Java开发笔记4:前端基础知识(二) 一.NPM 1.NPM简介 1.1.什么是NPM 1.2.NPM工具的安装位置 2.使用npm管理项目 2.1.创建文件夹npm 2. ...

  2. Java开发笔记(二十三)数组工具Arrays

    数组作为一种组合形式的数据类型,必然要求提供一些处理数组的简便办法,包括数组比较.数组复制.数组排序等等.为此Java专门设计了Arrays工具,该工具包含了几个常用方法,方便程序员对数组进行加工操作 ...

  3. JNI开发笔记(八)--Java读取txt文件进行JNI测试

    Java读取txt文件进行JNI测试 引 前言 1. 新建assets文件夹 2. 载入测试文件 3. 建立文件读取方法 4. 在MainActivity中读取文件数据 引 JNI开发笔记(一)–An ...

  4. Java开发笔记(五十)几种开放性修饰符

    前面介绍子类继承父类的时候,提到了public(公共)和private(私有)两个修饰符,其中public表示它所修饰的实体是允许外部访问的:而private表示它所修饰的实体不允许外部访问,只能在当 ...

  5. (硅谷课堂项目)Java开发笔记2:项目概述,搭建项目环境和开发讲师管理接口

    文章目录 (硅谷课堂项目)Java开发笔记2:项目概述,搭建项目环境和开发讲师管理接口 1.项目概述 1.1 项目介绍 1.2 硅谷课程流程图 1.3 硅谷课堂功能架构 1.4 硅谷课堂技术架构 1. ...

  6. 微信公众号Java开发-笔记02【开发接入准备、开发接入】

    学习视频网址:哔哩哔哩网站 微信公众号开发-Java版 [P01-P02]微信公众号Java开发-笔记01[微信公众号介绍.开发环境搭建] [P03-P04]微信公众号Java开发-笔记02[开发接入 ...

  7. 微信公众号Java开发-笔记01【微信公众号介绍、开发环境搭建】

    学习网址:哔哩哔哩网站 微信公众号开发-Java版 微信公众号Java开发-笔记01[微信公众号介绍.开发环境搭建] 微信公众号Java开发-笔记02[] 微信公众号Java开发-笔记03[] 微信公 ...

  8. Java学习笔记二:数据类型

    Java学习笔记二:数据类型 1. 整型:没有小数部分,允许为负数,Java整型分4种:int short long byte 1.1 Int最为常用,一个Int类型变量在内存中占用4个字节,取值范围 ...

  9. Java开发笔记(三十三)字符包装类型

    正如整型int有对应的包装整型Integer那样,字符型char也有对应的包装字符型Character.初始化字符包装变量也有三种方式,分别是:直接用等号赋值.调用包装类型的valueOf方法.使用关 ...

  10. Java开发笔记(一百零三)线程间的通信方式

    前面介绍了多线程并发之时的资源抢占情况,以及利用同步.加锁.信号量等机制解决资源冲突问题,不过这些机制只适合同一资源的共享分配,并未涉及到某件事由的前因后果.日常生活中,经常存在两个前后关联的事务,像 ...

最新文章

  1. Python:数据导入、爬虫:csv,excel,sql,html,txt
  2. tomcat高并发的配置
  3. 网络扫描工具Nmap常用命令
  4. GRPC在网页前端的使用
  5. 程序员python工作_程序员如何在工作中进步
  6. 服务器连接工具mat_将个人笔记本改造成Linux简易服务器
  7. 如何在VS2013中进行Boost单元测试
  8. 《python透明人士,他是凭什么成为主流编程的宠儿?!》Python 正则表达式
  9. android关闭人脸检测功能,【Android知识】录像预览模式下打开人脸检测
  10. 如何在Linux命令行中替换多个文件中的字符串
  11. 网站项目常用JS,CSS等控件插件
  12. linux怎么查看tudexo状态,linux怎么安装tuxedo中间件?
  13. uni-app h5 分享好友与朋友圈等功能
  14. 计算机人工智能领域英文文献,人工智能英文参考文献精选
  15. java整数最大_Java 整数最大值
  16. 安卓设备如何ROOT?玩转ROOT,让你的安卓手机更强更好用
  17. Java工程师工作描述写作要点该怎么写?
  18. quot;紫陀螺quot;网友感触转载系列之…
  19. 洛谷题解:P1007 独木桥
  20. 无线认证web认证服务器,wifi web认证服务器地址

热门文章

  1. 更多免费资源解压密码_更多免费(几乎免费)法律图片资源
  2. 辐射照度、辐射强度、光照度、发光强度(差异以及如何相互转换)(易懂讲解)
  3. 《定时执行专家》V5.4软件使用手册
  4. centos7 mysql启动后端口,centos安装mysql后3306端口不通_网站服务器运行维护
  5. java中怎么保留小数_java怎么保留小数
  6. QT txt读写—论坛体编辑器
  7. druid数据源检测数据库连接有效性testOnBorrow、testOnReturn、testWhileIdle属性原理分析
  8. go 语言最详细的入门教程
  9. ChinaSoft 论坛巡礼 | 云际计算系统软件
  10. cesium粒子特效