首先,什么是关键字?关键字最直接的体现在于,在编写过程中你不能命名相同的字。比如说你可以写int String = 1; (String不是关键字)但是却不能写int int =1; 再者就是关键字在IDE里会变色....(笑..),接下来我们就讲讲这45个Java关键字!

一、goto、const:Java向C看齐留下了goto和const两个关键字保留字,它们毫无意义,只是先占个坑,也许几个版本以后会有意义吧。。

二、访问修饰符系列:还记得public、protected、private嘛,他们的访问权限分别是,public——拥有最高权限,可以跨包、在同包不同类中和继承的子类中使用。

protected——拥有同包不同类和继承的子类的访问权限。

默认的:(你啥也不填)——拥有同包不同类的权限。

private——只能在本类中使用。

三、包、类、接口、抽象类

package、class、extends、interface、abstract、implements、new、super、this、return

四、数据类型

void、byte、short、int、long、float、double、null、true、false、char、boolean

五、线程同步

synchronized(同步方法或代码快):线程在执行时,会给在synchronized中调用的对象上锁,必须等该线程执行完操作其他线程才可以操作这个对象,在此期间,其他线程处于堵塞状态!

volatile(同步属性):声明该属性,让线程在使用该属性时不是从自己的栈空间里找。而是必须从堆里找,实现线程同步!

六、异常

throw:抛出代码中的异常给方法自身,(可以自行捕获异常)

throws:抛出方法异常给调用者,(可以在调用者那捕获)

try:捕获{}中的代码是否有异常发生

catch:try捕获到异常,就会交给catch语句进行处理

finally:不管有没有异常都会执行的语句

七、循环、条件

if、else、switch、case、break、default、continue

while、do、for

八、 瞬时的

transient

九、断言

assert

十、调用C和C++的代码 00

native

十一、finally

finally可以修饰类、方法、属性等

当它修饰类时:表示这个类不可以被继承。(如:String)

当它修饰方法时:表示该方法不可以被重写(如:Object的几个方法)

当它修饰属性时:表示该属性不可以修改了

十二、static

静态的

static可以修饰内部类、方法、属性等

被static修饰的属性方法内部类在创建对象时最先执行,他们存储在静态空间里,该类所有对象都共用者一个被static修饰的属性、方法。