1. Java关键字与Java保留字的区别?
Java关键字(KeyWord): 对Java的编译器有特殊的意义,他们用来表示一种数据类型或者表示程序的结构。
Java保留字(Reserved Word):为Java预留的关键字,现在还没有用到,但在升级版本中可能作为关键字被使用。
2.Java关键字和Java保留字都包括哪些?
Java关键字
(50个)
|
1 |
访问控制相关
(3个)
|
public(公共的)
protected(受保护的,同一个包中的其它类可以访问)
private(私有的,本类可以访问)
|
2 |
类、接口、抽象类相关、实例化对象相关
(6个)
|
abstract(抽象的)
class(定义类)、interface(定义接口)
implements(实现)、extends(继承)
new(创建新对象)
|
3 |
程序控制相关
(13个)
|
if(如果)、else(否则) 、instanceof(判断一个对象是否是某个类的实例)
switch(开关)、case(switch语句的一个条件)、break(跳出循环/跳出switch语句块)、
default(switch语句的默认分支,当所有的case都不满足条件时会执行)
for(for循环语句)、do(循环语句,循环体至少会被执行一次)、while(当.....时)、
continue(结束本次循环,继续下一次循环)
return(返回...,用于跳出方法)、goto
|
4 |
修饰方法、类、属性和变量相关
(8个)
|
static(静态的)、final(最终的不可被改变的)、const
native(表示方法用非java代码实现)
synchronized(线程同步的)
transient(修饰不要序列化的字段)
volatile(标记字段可能会被多个线程同时访问)
strictfp(严格的/精准的)
|
5 |
异常处理相关
(5个)
|
try(捕获异常)、catch(处理异常)、finally(有无异常都会执行)
throw(抛出一个异常对象)、throws(声明一个方法可能抛出异常)
|
6 |
包相关
(2个)
|
import(引入包)
package(定义包)
|
7 |
数据类型相关
(8个)
|
8种基本数据类型:byte、shot、int、long、float、double、char、boolean
|
8 |
变量引用相关
(3个)
|
super(调用父类的方法/构造函数)
this(表示调用当前实例/调用另一个构造函数)
void(没有返回值)
|
9 |
其它相关
(2个)
|
assert(断言条件十分满足)、enum(枚举类型) |
|
Java保留字 |
byValue、cast、false、future、generic、inner、operator、outer、rest、true、var、goto(跳转到....)、const(常量)、null |
注意:1. goto 和 const 这两个关键字是c++保留的关键字,目前在java中不能使用。(使用时会报错)
2. 所有的关键字都是小写,如果关键字中任何一个字母大写则不再是关键字。(Java中区分大小写)
3. then、sizeof、String、NULL、fiendly 等都不是关键字,虽然看起来很像(可能因为大小写的关系或者可能是其它语言的关键字但不是Java的)