什么是Java关键字
Java关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量。Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数。(摘自百度百科)
Java的保留关键字
- const:常量,常数。用于修改字段或局部变量的声明。
- goto:跳转。指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。
访问权限修饰符的关键字
- public:公有的。
- protected:受保护的。
- private:私有的。
这三个关键字都是声明一个类或者一个变量的访问权限,我们可以通过下表来了解他们各自的访问权限范围。
类内部 | 本 包 | 子类(外部内部都可以) | 外部包 | |
---|---|---|---|---|
public | √ | √ | √ | √ |
protected | √ | √ | √ | × |
private | √ | × | × | × |
类、接口相关的关键字
- class:类。用于声明一个类。
- interface:接口。用于声明一个接口。
- abstract:抽象。用于声明一个类、方法是抽象的。
- implements:实现。用于类继承一个接口,A implements B。
- extends:继承。用于类继承类,A extends B。
- new:创建新对象。主要用来实例化一个类,即创建一个新的对象。
修饰方法、类、属性和变量的关键字
- static:静态的。属性和方法都可以用static修饰,直接使用类名、属性和方法名,只有内部类可以使用static关键字进行修饰。
- final:最终的。属性、方法和类都可以用final来修饰。被final修饰的类是不能被继承的,被final修饰的方法是不能被子类重写的,被final修饰的属性就是常量,也是无法更改的。
- super:主要用于调用父类的方法。
- this:主要用于调用当前类中的属性、方法等。
- native:本地。主要是Java和其他语言(如C++)进行协作时用的,native关键字声明的函数都是操作系统实现的,java只能调用。
- strictfp:严格。用了strictfp来声明一个 类、接口或者方法时,那么所声明的范围内Java的编译器以及运行环境会完全依照浮点规范IEEE-754来执行。
- synchronized:线程同步。一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。
- transient:短暂。让被修饰的成员属性变量不被序列化。
- volatile:易失。用以声明变量的值可能随时会别的线程修改,使用volatile修饰的变量会强制将修改的值立即写入主存,主存中值的更新会使缓存中的值失效(非volatile变量不具备这样的特性,非volatile变量的值会被缓存,线程A更新了这个值,线程B读取这个变量的值时可能读到的并不是是线程A更新后的值)。volatile会禁止指令重排。
异常和错误相关的关键字
- try:用于捕获异常,与catch一起使用。
- catch:用于处理异常。当try的方法块中抛出异常,则catch块开始执行处理异常的操作。
- finally:无论有无捕获异常都执行。
- throw:抛出一个异常对象。
- throws:声明一个异常可能被抛出。把异常交给他的上级管理,自己不进行异常处理。