Java中的包、类和属性命名规则
最编程
2024-08-02 13:00:45
...
- 命名规范
1、包
- 包名命名,所有字母都小写。
- 包命名的路径建议符合所开发的系统模块的定义,以便看了包命名就明白是哪个模块,从而直接到对应包里找相应的实现。
- 由于Java面向对象的特性,每个Java开发人员都可以编写属于自己的包,为了保障每个包命名的唯一性,在最新的Java编程规范中,要求开发人员在自己定义的包名钱加上唯一的前缀。由于互联网上的域名称是不会重复的,所以多数开发人员采用
自己公司的名称.项目名.模块名*.*.*
,在互联网上的域名称作为自己程序包的唯一前缀。例如:com.srrui.base.类
- 个人项目包的推荐命名:
- indi:个人项目,指个人发起,但非自己独自完成的项目,可以公开或私有项目,版权主要属于发起者。例如:
indi.发起者名.项目名.模块名*.*.*
- pers:个人项目,指个人发起,独自完成,可分享的项目,版权主要属于个人。例如:
pers.个人名.项目名.模块名*.*.*
- priv:私有项目,指个人发起,独自完成,非公开的私人使用的项目,版权属于个人。例如:
priv.个人名.项目名.模块名*.*.*
- 团队项目包的推荐命名:
- team:团队项目指由团队发起,并由该团队开发的项目,版权属于该团队所有。例如:
team.团队名.项目名.模块名*.*.*
- com:公司项目:由项目发起的公司所有。例如:包命名
com.公司名.项目名.模块名*.*.*
2、类名
- 类名命名,推荐单词的首字母大写。
- 如果类名称由多个单词组成,则每个单词的首字母均应为大写,例如:
TesePage;
如果类名中包含单词缩写,则这个所写词的每个字母均应大写,例如:XMLExample
,还有一点命名技巧就是由于类是设计用来代表对象的,所以在命名类时应尽量选择名词,例如:Graphics
3、方法名
- 首字母小写,如果是由多个单词组成的画,每一个单词的首字母小写,其余单词首字母大写。
4、变量名
- 推荐的命名规范有以下三种:
- Camel 标记法:首字母是小写的,接下来的单词都以大写字母开头。譬如:定义一个变量,用来记录文档数量:
docCount
- Pascal 标记法:首字母是大写的,接下来的单词都以大写字母开头。譬如上例中的文档数量记录变量,则修订为:
DocCount
- 匈牙利标记法:在以 Pascal标记法 的变量前附加小写小写序列说明该变量的类型。基本结构为:
scope_typeVariableName
,它使用1-3字符前缀来表示数据类型,3个字符的前缀必须小写,前缀后面是由表意性强的一个单词或多个单词组成的名字,而每个单词的首字母大写,其它字母小写。譬如:上例中定义文档数量记录的变量是一个整型变量,则应修订为:intDocCount
。 通常在团队开发中,会预先设定统一的命名方式,以便于团队中项目的维护。
推荐阅读
-
Java 8新特性探究(十三)JavaFX 8新特性以及开发2048游戏-JavaFX历史## 跟java在服务器端和web端成绩相比,桌面一直是java的软肋,于是Sun公司在2008年推出JavaFX,弥补桌面软件的缺陷,请看下图JavaFX一路走过来的改进 从上图看出,一开始推出时候,开发者需使用一种名为JavaFX Script的静态的、声明式的编程语言来开发JavaFX应用程序。因为JavaFX Script将会被编译为Java bytecode,程序员可以使用Java代码代替。 JavaFX 2.0之后的版本摒弃了JavaFX Script语言,而作为一个Java API来使用。因此使用JavaFX平台实现的应用程序将直接通过标准Java代码来实现。 JavaFX 2.0 包含非常丰富的 UI 控件、图形和多媒体特性用于简化可视化应用的开发,WebView可直接在应用中嵌入网页;另外 2.0 版本允许使用 FXML 进行 UI 定义,这是一个脚本化基于 XML 的标识语言。 从JDK 7u6开始,JavaFx就与JDK捆绑在一起了,JavaFX团队称,下一个版本将是8.0,目前所有的工作都已经围绕8.0库进行。这是因为JavaFX将捆绑在Java 8中,因此该团队决定跳过几个版本号,迎头赶上Java 8。 ##JavaFx8的新特性 ## ###全新现代主题:Modena 新的Modena主题来替换原来的Caspian主题。不过在Application的start方法中,可以通过setUserAgentStylesheet(STYLESHEET_CASPIAN)来继续使用Caspian主题。 参考http://fxexperience.com/2013/03/modena-theme-update/ ###JavaFX 3D 在JavaFX8中提供了3D图像处理API,包括Shape3D (Box, Cylinder, MeshView, Sphere子类),SubScene, Material, PickResult, LightBase (AmbientLight 和PointLight子类),SceneAntialiasing等。Camera类也得到了更新。从JavaDoc中可以找到更多信息。 ###富文本 强化了富文本的支持 ###TreeTableView ###日期控件DatePicker 增加日期控件 ###用于 CSS 结构的公共 API
-
理解CentOS中物理和虚拟网卡的命名规则与信息获取方法
-
四种在Java中获取当前日期和时间的方法:利用java.util.Date类
-
全面解析Java中的运算符和优先级规则
-
理解Java中的long和Long类的差异
-
Java中的包、类和属性命名规则
-
深入解析JDK中的常用包、类和功能
-
Java类和包的导入与应用
-
全面解析Java中的包(package),包括编译和运行过程中可能出现的问题
-
理解Java中的package,子package和import:一个简单的指南 - 如何导入包