日期:2014-05-20  浏览次数:20703 次

问个简单的问题,java中保留字和关键字的区别
问个简单的问题,java中保留字和关键字的区别
开始以为关键字和保留字一个意思
结果今天笔试碰到这样的一个题,还好确认goto是保留字
别人说保留字是备以后java升级用的,是这样的吗?
怎么感觉goto的保留只是因为向下兼容才保留的啊。。。

------解决方案--------------------
学习了,参考这个地址的解释:<a href="http://iamin.blogdriver.com/iamin/872969.html">http://iamin.blogdriver.com/iamin/872969.html</a>

正确识别java语言的关键字(keyword)和保留字(reserved word)是十分重要的。Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等。保留字是为java预留的关键字,他们虽然现在没有作为关键字,但在以后的升级版本中有可能作为关键字。?

------解决方案--------------------
百度上一搜

Java 关键字列表 (依字母排序 共51组):?
abstract, assert,boolean, break, byte, case, catch, char, class, const, continue, default, do, double, else, enum,extends, final, finally, float, for, if, implements, import, instanceof, int, interface, long, native, new, package, private, protected, public, return, short, static, strictfp, super, switch, synchronized, this, throw, throws, transient, try, void, volatile, while?
Java 保留字列表 (依字母排序 共14组) : Java保留字是指现有Java版本尚未使用 但以后版本可能会作为关键字使用。?
byValue, cast, false, future, generic, inner, operator, outer, rest, true, var , goto ,const,null
------解决方案--------------------
JAVA中保留字和关键字的区别就是:

保留字是J2SDK的预留"关键字",也就是在版本的升级中,
不排除使保留字向关键字转型的可能,但是当前版本还不使用,
一旦我们用上,就会报错;而关键字是当前就已经在使用的字符

而兼容一般要涉及数据类型,即就是所定义新的数据类型会比当前的
数据类型所占的字节数更大
------解决方案--------------------
一般书上都是简单的一提,只是说goto是保留字
------解决方案--------------------
目前版本的Java(JDK 6.0)中有53个标识符,其中50个是关键字,3个是值(true, false, null)
在50个关键字有两个被保留了,goto和const,这两个是不能在程序中做为标识符使用的,估计这两个
也不大会使用了。

被保留的原因,可能是降低Java语法的学习曲线,基本语法与C语言的语法十分地相似,,摒弃了一些
导致结构不良的东西吧。

Java中标识符的列表和更详细的说明可以看看下面的链接:

http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#3.9