java之标识符

今天偶然看到一本书涉及到标识符的问题仔细查找了一下关于标识符的资料,总结了一下

首先是标识符的定义:

Java标识符由数字,字母和下划线(_),美元符号($)组成。在Java中是区分大小写的,而且还要求首位不能是数字。最重要的是,Java关键字不能当作Java标识符。

1.类和接口名。每个字的首字母大写,含有大小写。例如,MyClass,HelloWorld,Time等。
2.方法名。首字符小写,其余的首字母大写,含大小写。尽量少用下划线。例如,myName,setTime等。这种命名方法叫做驼峰式命名。
3.常量名。基本数据类型的常量名使用全部大写字母,字与字之间用下划线分隔。对象常量可大小混写。例如,SIZE_NAME。
4.变量名。可大小写混写,首字符小写,字间分隔符用字的首字母大写。不用下划线,少用美元符号。给变量名是尽量做到见名知义。


其中的定义对于“$”的用法说的很是模糊,问题就出现这里,尽管可以应用$来命名标识符但会出现各种各样的问题,因为$符号在Java编译时会使用到,主要体现在内部类的定义时。
e.g
class Outer {
class Inner{}
}
当它编译时会产生两个.class文件Outer.class和Outer$Inner.class。正是这个符号$如果当我把程序改成这样:
public class Outer$Inner{
	public static void main(String[] args){
		System.out.println();
	}
}

class Outer {
	class Inner{}
}
无论什么编译器都会报错,Duplicate nested type Inner.当编译时编译器的自作主张就是这个问题的导火索,或许对于这么多的java标识符表示没必要死守着一个看起来很炫酷的$不放手。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值