Java之关于标识符

最近看到Java标识符这一块的时候,对其又有了更加深入的了解,以下是我的一些总结:

Java语言要求类名、方法名、变量名、常量名等都必须是合法的标识符。我们通常所说的标识符第一个字符必须是字母、下划线或者$,后面的字符可以是上面的字符或者是数字,当然前提是后面还有字符。通过查找资料才知道,原来这里的字母并不单纯指我们熟悉的26个大小写字母,而是指Unicode字符集。

于是标识符的定义又有了如下规则:1.首字符所对应的代码点必须使得Character类的isJavaIdentifierStart方法返回值为true,如果有后续字符,那么后续字符所对应的代码点必须使得Character类的isJavaIdentifierPart方法返回值为true;2.标识符不能和Java中的关键字和保留字相同;3.标识符不能和Java中预定义的字面常量相同;4.标识符长度必须在系统支持范围内。

另外需要注意的是:1.Java将goto和const定义为保留字,基本没有语法应用,但是不能使用它们作为标识符;

2.系统定义的true,false,null并不是关键字,而是字面常量,仍然不允许作为标识符使用;

3.$可作为标识符使用,但是我们应该减少对他的使用。因为$通常在编译器生成的标识符名称中使用。假如一个类为A,在内部声明成员类B,编译后就会产生A.class和A$B.class,如果我先定义一个类为A$B,然后定义一个类为A,并在A内部声明成员类B,编译之后就会生成三个class文件:A$B.class,A.class,A$B.class,因为产生两个A$B.class,故会报编译错误;

4.在Java语言规范中,标识符的长度是任意的;Java虚拟机规范中,标识符是有长度限制的,最大长度为65535,但是这个最大长度仅限于除空字符null以外的字符;

5.标识符区分大小写。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值