Java包(package)的作用、命名规范,以及包命名注意事项

java中的打包机制是为了防止程序多个地方出现相同的名字而将局部程序限定在一块的机制

​ Java的包名都有小写单词组成,类名首字母大写;包的路径符合所开发的 系统模块的 定义,比如生产对生产,物资对物资,基础类对基础类。以便看了包名就明白是哪个模块,从而直接到对应包里找相应的实现。

由于Java面向对象的特性,每名Java开发人员都可以编写属于自己的Java Package,为了保障每个Java Package命名的唯一性,在最新的Java编程规范中,要求开发人员在自己定义的包名前加上唯一的前缀。由于互联网上的域名称是不会重复的,所以多数开发人员采用自己公司在互联网上的域名称作为自己程序包的唯一前缀。例如: com.sun.swt.……。

1 Java包(package)的作用

  1. 提供多层命名空间,解决命名冲突,通过使用package,使得处于不同package中的类可以存在相同的名字

  2. 对类按功能进行分类,使项目的组织更加清晰

    比如采用MVC模型,一般mode、view、controller三个包

当开发一个非常多的类项目时,如果不使用package对类进行分类,而是把所有类都放在一个package下,代码可读性差,而且可维护性也不好,严重影响开发效率

命令行下编译运行包下文件

①在源文件的开头加上“package packagename;”,然后源文件所在目录下创建一个新目录,名称为packagename

②用javac指令编译每个sourcename.java源文件,将生成的sourcename.classname文件复制到package目录

③用javac指令运行程序:java packagename.sourcename

2 Java包(package)的命名规范

个人项目命名(individual、personal、private、one-man)

  • indi

    个体项目(individual),指个人发起,但非自己独自完成的项目,可公开或私有项目,copyright主要属于发起者
    包名为“indi.发起者名.项目名.模块名……

  • pers
    个人项目(personal),指个人发起,独自完成,可分享的项目,copyright主要属于个人
    包名为“pers.个人名.项目名.模块名.……

  • priv
    私有项目(private),指个人发起,独自完成,非公开的私人使用的项目,copyright属于个人
    包名为“priv.个人名.项目名.模块名.……

  • onem
    单人项目(one-man),推荐用indi,指个人发起,但非自己独自完成的项目,可公开或私有项目,copyright主要属于发起者
    包名为“onem.发起者名.项目名.模块名……

团体项目命名(team、com)

  • team
    团队项目,指由团队发起,并由该团队开发的项目,copyright属于该团队所有。
    包名为“team.团队名.项目名.模块名.……
  • com
    公司项目,copyright由项目发起的公司所有。
    包名为“com.公司名.项目名.模块名.……

注意事项

  1. package必须是程序中可执行的第一行代码
  2. package语句只能有一句
  3. package命名要求包含的所有字符均为小写,同时不能有特殊字符
  4. package可以有多层,每一层有.隔开,例如:package china.hubei.wuhan;(China是一个文件夹,hubei是china下的一个文件夹,wuhan是hubei文件夹下的一个文件夹
  5. package语句后面的分号不要掉
  6. 包的路径符合所开发的系统模块的定义,比如生产对生产,物资对物资,基础类对基础类。
  7. 如果定义类的时候没有使用package,那么java就认为我们所定义的类位于默认包里面(default package)。
  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yinying293

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值