zoukankan      html  css  js  c++  java
  • Java项目的结构

    -------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】

  • 相关阅读:
    远程访问Linux系统桌面
    NFS原理详解
    编译portmap和nfs-utils
    NFS资料
    PF_NETLINK应用实例NETLINK_KOBJECT_UEVENT具体实现--udev实现原理
    usb资料2
    USB相关资料
    书籍
    最详细的Log4j使用教程
    iOS开发UI篇—无限轮播(新闻数据展示)
  • 原文地址:https://www.cnblogs.com/siwuxie095/p/6427138.html
Copyright © 2011-2022 走看看