java细节

java语言规范

语言的本质

任何一门语言都是用来交流的,都有自己的一套书写规范,Java 也不例外。不遵循规范,则会产生交流问题。

注重这些细节有几个好处

  • 好的命名规范可以使得写出来的程序更容易被别人理解,更好维护。当然也易于自己理解,以便日后扩展。
  • 同时,也使程序更规范和专业。
  • 在这个人性化横行的今天,我们的Java命名规范也应该注重体验。共性和个性应该并存。共性则是专业、规范;个性则是每个人优秀思想的渗透。
  • 了解命名规范,可以更好的学习和记忆 Java 类库中的类和函数等。
    在命名规范里有很多都涉及到英文的,可以促进英文学习。
    比如: numberMax, MaxNumber和maxNumber都是有区别的。

    1. maxNumber可能是属性名
    2. MaxNumber一般是类名
    3. numberMax更倾向于方法。

    这里也有一个英文的搭配问题。
    比如:FileRead, FileReader, 这个显然后者作为类名好些。
    readFile,fileRead, 这个显然前者作为方法更合适。

一些原则

下面的几个原则是编写 Java 程序必须遵守的
如果没有非常好的理由,永远不要违背他。


  1. 由小写字母和少量数字组成
    Java 自己的包以 java. 和 javax 开头,比如:java.awt
    别的组织开发的包以 组织的 Internet 域名部分开头,比如:com.sun, com.borland
    一些例子:
    com.aliasi.hmm; com.aliasi.classify; com.aliasi.cluster;
    com:组织; aliasi:具体的组织名或者个人; classify,cluter:包名(主题)
    org.apache.lucene; org.apache.lucene.analysis.standard;
    org.apache.nutch.ndfs; org.apache.nutch.fs; org.apache.nutch.db; org.apache.nutch.parse;

    推荐使用公司或机构的顶级域名为包名的前缀,目的是保证各公司/机构内所使用的包名的唯一性,包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词,包名统一使用单数形式。如果类名有复数含义,类名可以使用复数形式。

  2. 类,接口
    由一个或几个单词组成,每个单词的第一个字母大写,比如:StringBuffer
    类:一般用名词和名词词组命名; IndexOptimizer.java; WebDbReader.java
    接口:与类相同,可以使用形容词词缀,比如 Runnable, Comparable

    类名使用 UpperCamelCase 风格(首字母都大写),必须遵从驼峰形式。 例如: MessageUtil. 抽象类命名使用 Abstract 或 Base 开头 ; 异常类命名使用 Exception 结尾 ; 测试类命名以它要测试的类的名称开始,以 Test 结尾。

  3. 方法
    除第一个字母小写外,和类,接口的命名规则一样。比如:getPersonInfo()
    对于取属性值和设置属性值的方法:
    不管是否是 Bean,都要遵循 JavaBean 命名规范:getXXX(), setXXX()
    转换对象类型返回不同类型的方法:
    命名成 toType,比如:toString(), toArray()
    返回视图的方法:
    命名成 asType() 形式,asList()
    返回与调用此方法的对象(Wrapper Class)同值的原始类型的方法:
    命名成 typeValue() 形式,比如 intValue(), floatValue()
    parseCharacterEncoding(String);

    方法名、参数名、成员变量、局部变量**都统一使用 lowerCamelCase 风格(第一个单词首字母小写,其他单词首字母大写),必须遵从驼峰形式。 例如: myFirstName

  4. 域(属性)
    普通域:
    除第一个字母小写外,和类,接口的命名规则一样。比如:personInfo
    常数域:
    由一个或多个被下划线分开的单词组成,比如:VALUES, NEGATIVE_INTINITY
    常数域是唯一允许使用下划线的情况。

  5. 局部变量
    命名与域相同,可以使用简写,比如:i, j, temp, maxNumber

java访问权限

适用publicprotecteddefaultprivate
同类TTTT
同包TTT
子类(不同包)TT
不同包无继承关系T

总结

  1. 注重细节,培养良好的规范,变成习惯。无关乎项目大小,是一种习惯。否则越积累越多,就容易崩塌。 不积跬步无以至千里。
  2. 定义一个类和一个方法并不是太复杂,当有非常多的类、方法、变量的时候才复杂,因为这些类既有区别,又有千丝万缕的继承和调用关系,这时候一致性设计,并易于理解和记忆,并方便扩展和调用则需要慢慢的体会了。既然能用语言实现复杂的功能和体现伟大的思想,那么这门语言本身肯定也蕴育着很多哲学。
  3. 它来源于生活,高于生活,又应用与生活。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值