-------siwuxie095

 
 

 
 

 
 

以 Hello World 为例

 
 

这个工程用一个文件夹表示,被放置在左侧的资源管理面板 Package Explorer 中

 
 

 
 

 
 

 
 

展开后:

 
 

可以看到一个
src 文件夹,用于存放项目的源代码


src 即 source 也即 source code 〕

 
 


JRE System Library 即当前工程所需要的运行时,它的版本是

在创建这个工程时所选择的JRE版本,这里是 jre(被我个人命名)

 
 

 
 

 
 

 
 

展开
JRE System Library:

 
 

下面有很多
jar 格式的包,即系统的运行时提供给程序的运行环境和开放的 API

 
 

 
 

 
 

 
 

展开
src:

 
 

可以看到
default package,即默认包,下面是类

 
 

 
 

 
 

 
 

 
 

在正规的开发环境中,"使用默认包 default package,在下面创建类"

的做法是非常不可取的

 
 

规范的做法:在默认包下创建它的子包〔实际上就是替代了默认包〕

(先删掉上面的
Test.java,在 default package 上:右键->New->Package)

 
 

 
 

 
 

 
 

 
 

 
 

包名的命名规则:

 
 

如:网站名为:www.siwuxie095.com,则当前的包名规则是反过来的

 
 

即:com.siwuxie095,第一个代表公司性质 commercial 商业性质;

第二个是公司名称;

 
 

接下来是项目名称,如:hello,即 com.siwuxie095.hello

 
 

接下来继续添加,这时的包名就是按照功能来划分的了,如:这

里创建的第一个包是用来运行和开启程序的,可以命名为main,


com.siwuxie095.hello.main

 
 

 
 

Finish 后,一览:

 
 

默认包
default package 就变成了 com.siwuxie095.hello.main

 
 

同时自动创建了一个类

 
 

 
 

 
 

 
 

 
 

 
 

一般情况下,一个应用程序应该遵循MVC的结构规则


M 即 Model 模型;V 即 View 视图、界面;C 即 Control 控制 〕

 
 

显然,这里的
main 包存放的就是用于控制的代码

 
 

可以在 src 上,右键->New->Package,继续创建包

 
 

视图:com.siwuxie095.hello.view

模型:com.siwuxie095.hello.model

 
 

 
 

三个基本包创建完成,如果项目非常复杂,程序的包结构也会非常复杂

 
 

 
 

 
 

 
 

 
 

包创建完成后,首先要创建程序的主要入口,即 主方法,


com.siwuxie095.hello.main 上,右键->New->Class

 
 

 
 

 
 

 
 

Name:Main,勾选上 public static void main(String[] args)

 
 

 
 

 

 
 

 
 

接下来,如果要为项目创建一个用于储存模型的类,就要放到

com.siwuxie095.hello.model 包中,如:在游戏项目中,游戏

地图、人物属性等都属于数据模型,应该放到此包中

 
 

最后,如果项目还需要添加视图

用户界面,就要放到

com.siwuxie095.hello.view 包中,存放显示视图的类

 
 

 
 

创建完成一览:package-info.java 可以删除

 
 

 
 

 
 

 
 

包和类都创建完成后,它们在硬盘中储存情况:

 
 

在资源管理器中找到
Eclipse 的工作空间 workspace,

打开项目
Hello World

 
 

 
 

 
 

src 下的 com.siwuxie095.hello.main,每一个点都代表一级文件结构

 
 

 
 

 
 

因为在工程中,main、model、view 这三个包的前缀都一样,


截止到
hello,都是储存在同一文件结构中,到了它们本身就

分开成
三个
文件夹存储

 
 

 
 

 
 

 
 

 
 

返回到项目 Hello World 的目录下,可以看到一个 bin 文件夹,

这个
bin 路径在 Eclipse 的工程管理面板(或 资源管理面板)中

是不可见的,bin 是用来存放当前 Eclipse 实时编译的 .class 文件,

它的文件夹结构和
src 完全相同

 
 

(.class 文件 即 Java的二进制文件)

 
 

 
 

 
 

 
 

 
 

 
 

当然,如果需要,也可以资源管理器中直接创建包的结构

 
 

如:在
src 下的 hello 目录下,创建 network 文件夹,这样就创建了一个

新的
network 包

 
 

 
 

 
 

 
 

 
 

不过在 Eclipse 的工程中还没有反应过来,需要手动刷新

 
 

点击工程项目名
Hello World,按 F5 刷新,或 右键->Refresh 即可

 
 

 
 

 
 

 
 

还可以为当前包创建子包,如:在
view 下创建文件夹 img,

用于存放图像,仍需到
Eclipse 中点击当前的工程,手动刷新,

才能显示

 
 

 
 

 
 

 
 

 
 

 
 

在工程文件夹目录下还可以创建其他文件夹,最常出现的是

一个名为
lib 的文件夹,可以存放一些第三方的库,直接复制

粘贴过来即可,如:复制粘贴一个
gson-2.8.0.jar

 
 

 
 

 
 

 
 

 
 

回到
Eclipse 中,手动刷新一下,显然,lib 和 src 文件夹是同一级的

 
 

 
 

 
 

 
 

 
 

lib 下的 gson-2.8.0.jar 只是出现在了工作的环境当中,并没有被工程所引用

 
 

这时选中
gson-2.8.0.jar,右键->Build Path->Add to Build Path,

 
 

 
 

 
 

 
 

 
 

将其添加到
Build Path,会出现一个新的结构:Referenced Libraries,


被引用的库,当一个jar包出现在这里,就说明它已经被当前工程所引用

 
 

 
 

 
 

 
 

且可以展开这个包,观察其目录结构,显然,其包名是符合命名规范的

 
 

 
 

 
 

 
 

 
 

这样,你就可以在工程中引用此包中的内容

 
 

如:com.google.gson 中包含了 JsonObject.class

 
 

 
 

 
 

就可以直接引用:

 
 

 
 

运行一览:输出一个空大括号,即代表一个空的Json数据

 
 

 
 

 
 

 
 

 
 

【made by siwuxie095】

Java项目的结构的更多相关文章

  1. (一)JAVA项目(非web项目)部署到windows服务器运行

    [转]http://blog.csdn.net/tracy19880727/article/details/11205063 一般服务器运行的几乎都是web项目,今天遇到一个问题,把写好的Java项目 ...

  2. eclipse集成maven3后,创建java项目详细图解

    1.创建一个Java项目 1)File--->New--->Other--->Maven--->Maven Projet 2)选择maven-archetype-quickst ...

  3. Eclipse JAVA项目的 目录结构 和 导入

    说明:本文所有测试以java工程为例: 1. Eclipse下的java工程目录 eclipse的基本工程目录叫做workspace,每个运行时的eclipse实例只能对应一个workspace,也就 ...

  4. idea中的java web项目(添加jar包介绍)和java maven web项目目录结构

    java web项目 web项目下web根目录名称是可以更改的 idea中新建java web项目,默认src为Sources Root,当然也可以手动改,在Sources Root下右键只能新建Pa ...

  5. 将 java 项目打包成可运行的 jar 包(main 函数带参数),并上传到 linux 服务器上运行

    一.概述 java项目有两种架构,一种是 B/S 架构的,一种是 C/S 架构的. 对于 B/S 架构来说,我们常见的 java ee 即是 B/S 架构,通常,开发人员会在本地进行开发,然后将项目打 ...

  6. 像Maven一样构建java项目的目录,更好的管理java工程的源码

    都知道maven具有管理Java或者Javaweb的功能.我个人尤其看中的是其代码层次的分离.不同的代码在不同的文件夹下.这是在eclipse新建一个普通的工程无法实现的.而如果用maven实现有时候 ...

  7. 用Ant实现Java项目的自动构建和部署

    原文地址:http://tech.it168.com/j/2007-11-09/200711091344781.shtml         本文请勿转载! Ant是一个Apache基金会下的跨平台的构 ...

  8. 【dubbo】dubbo项目基本结构及provider构建

    dubbo项目基本结构如下,分别部署于不同服务器: 1.provider(接口API 实现) 2.consumer(web) 3.zookeeper 4.DB provider构建 1.api构建 i ...

  9. 使用maven编译Java项目 http://www.tuicool.com/articles/YfIfIrq

    使用maven编译Java项目 时间 2014-07-17 17:42:37  Way Lau's Blog 原文  http://www.waylau.com/build-java-project- ...

随机推荐

  1. linux bash shell 判断目录是否为空的函数

    #!/bin/sh ##方法一 判断输出字符数统计为0 is_empty_dir(){ |wc -w` } ##方法二 判断输出string为空 #is_empty_dir(){ # ` ] #} t ...

  2. 深入__proto__和prototype的区别和联系

    前话 有一个一个装逼的同事,写了一段代码 function a(){} a.__proto__.__proto__.__proto__ 然后问我,下面这个玩意a.__proto__.__proto__ ...

  3. java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy

    java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy at sun.reflect.an ...

  4. test20181029 宝藏

    题意 分析 考场做法 一眼看出是支持换根的树形dp. 用\(f(x,0/1)\)表示x及其子树中,从x出发,不一定/一定回到x的最大收益. 然后子树很好做. 换根的时候,我先计算后还原,需要考虑很多, ...

  5. test20181025 Color

    题意 分析 自己的想法 可以莫队+平衡树. 对每个颜色维护一颗平衡树,然后移动莫队端点的时候在平衡树中查询. 区间加操作容易实现. 单点修改转化为平衡树的插入删除. 感谢Z前辈的指导. 时间复杂度\( ...

  6. 在css中使用hover来控制其他元素的样式,该两个元素必须是父子元素

    .col-3:hover .check-box { display: block; } 在css中使用hover来控制其他元素的样式,该两个元素必须是父子元素!!!!

  7. Oracle Client 10g (instantclient) 精简版安装

    今天遇到个软件要求安装oracle client端,于是考虑装精简版本的,就从http://www.oracle.com/technology/software/tech/oci/instantcli ...

  8. bzoj2957楼房重建

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2957 线段树.每个点记录斜率,要一个单增的序列长度(从1开始). 线段树每个点记录自己区间的 ...

  9. 黄聪:C#使用能够foreach对hashtable、List遍历时“集合已修改;可能无法执行枚举操作。”错误

    解决办法:使用for循环,而不是foreach循环 例如: ArrayList akeys=new ArrayList(_transmit_tb.Keys); ;p> -;p--) { _tra ...

  10. [正经分析] DAG上dp两种做法的区别——拓扑序与SPFA

    在下最近刷了几道DAG图上dp的题目. 要提到的第一道是NOIP原题<最优贸易>.这是一个缩点后带点权的DAG上dp,它同时规定了起点和终点. 第二道是洛谷上的NOI导刊题目<最长路 ...