标识符是Java开发中的基础知识,确实有点简单了。不过我看来,课本上对Java标识符的定义要求都过时了。
标示符定义
Java语言中,对于变量,常量,函数,语句块均有名字,我们统统称之为Java标识符.
标识符是用来给类、对象、方法、变量、接口和自定义数据类型命名的。
标识符要求
大部分课本定义:
1、标识符只能由字母(a\~z,A\~Z)、数字(0~9)、下划线(_)和 组成,并且标识符的第一个字符必须是字母、下划线或
2、标识符也不能包含空白字符(换行符、空格和制表符)
3、Java关键字不能当作Java标识符
4、Java关键字严格区分大小写
那么下面这些定义可以吗?
int ¥12 = 1; //人民币标识符
int 我 = 1; //中文
int 这也行 = 1;//中文
int خـ = 1; //这是个阿拉伯文字
答案是可以的。
所以标识符的要求中的字母应当改为:大部分Unicode字符。
为什么¥也可以呢?
这个字符并不在ASCII中,所以把它当作了一个普通的Unicode字符来认识的而已。
命名约定
包命名
包名按照域名的范围从大到小逐步列出,恰好和Internet上的域名命名规则相反。
由一组以“.”连接的标识符构成,通常第一个标识符为符合网络域名的两个或者三个英文小写字母。
com.leo.test
类和接口名
类的名字必须由大写字母开头而单词中的其他字母均为小写;
如果类名称由多个单词组成,则每个单词的首字母均应为大写例如TestPage;
如果类名称中包含单词缩写,则这个所写词的每个字母均应大写,如:XMLExample,
还有一点命名技巧就是由于类是设计用来代表对象的,所以在命名类时应尽量选择名词。
Test
XMLUtils
LocalTimeZone
方法名
首字符小写,其余的首字母大写,含大小写。尽量少用下划线。采用驼峰式命名。
设置/获取某个值的Method,应该遵循setV/getV规范
返回长度的Method,应该命名为length
测试某个布尔值的Method,应该命名为isV
将对象转换为某个特定类型的Mehod应该命名为toF
getDate();
length();
isReady();
toOracleFormat();
常量名
使用全部大写字母,字与字之间用下划线分隔。例如,SIZE_NAME。
private static final boolean RED = false;
private static final boolean BLACK = true;
变量名
可大小写混写,首字符小写,字间分隔符用字的首字母大写。不用下划线,少用美元符号。给变量命名是尽量做到见名知义。
如果需要对变量名进行缩写时,一定要注意整个代码中缩写规则的一致性。
索引变量:i、j、k等只作为小型循环的循环索引变量。
无论什么时候,均提倡应用常量取代数字、固定字符串。也就是说,程序中除0,1以外,尽量不应该出现其他数字。
Context context=ctx;
for(int i=0; i < list.length(); i++){
//do something...
}