final 用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,用来定义常量
static 表明具有静态属性,声明这个成员变量是属于类的不是属于对象的
说明方法
void 声明当前成员方法没有返回值
虚拟机执行的一些方法
native 用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的
类继承和实现的一些关键字
abstract 表明类或者成员方法具有抽象属性
implements 表明一个类实现了给定的接口
import 表明要访问指定的类或包
interface 接口
class 声明一个类
enum 枚举
extends 表明一个类型是另一个类型的子类型。对于类,可以是另一个类或者抽象类;对于接口,可以是另一个接口
对象声明创建的关键字
new 用来创建新实例对象
数据类型
boolean 基本数据类型之一,声明布尔类型的关键字
byte 基本数据类型之一,字节类型
char 基本数据类型之一,字符类型
short 基本数据类型之一,短整数类型
int 基本数据类型之一,整数类型
long 基本数据类型之一,长整数类型
float 基本数据类型之一,单精度浮点数类型
double 基本数据类型之一,双精度浮点数类型
条件类型关键字
case 用在switch语句之中,表示其中的一个分支
do 用在do-while循环结构中
else 用在条件语句中,表明当条件不成立时的分支
for 一种循环结构的引导词
if 条件语句的引导词
switch 分支语句结构的引导词
while 用在循环结构中
跳出循环的关键字
continue 回到一个块的开始处
break 提前跳出一个块
return 从成员方法中返回数据
成员变量访问权限
package 包
private 一种访问控制方式:私用模式
protected 一种访问控制方式:保护模式
public 一种访问控制方式:共用模式
default 默认,例如,用在switch语句中,表明一个默认的分支。Java8 中也作用于声明接口函数的默认实现
移除捕获处理的关键字
try 尝试一个可能抛出异常的程序块
throw 抛出一个异常
throws 声明在当前定义的成员方法中所有需要抛出的异常
finally 用于处理异常情况,用来声明一个基本肯定会被执行到的语句块
catch 用在异常处理中,用来捕捉异常
线程相关的关键字
volatile 表明两个或者多个变量必须同步地发生变化
synchronized 表明一段代码需要同步执行
不长用 不重要
assert 断言,用来进行程序调试 (避免使用)
const 保留关键字,没有具体含义
goto 保留关键字,没有具体含义
instanceof 用来测试一个对象是否是指定类型的实例对象
strictfp 用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范
super 表明当前对象的父类型的引用或者父类型的构造方法
this 指向当前实例对象的引用
transient 声明不用序列化的成员域
final关键字
1、修饰类
当用fianl修饰一个类时,表明这个类不能被继承,也就是说,这个类你永远不会让他被继承,就可以用final进行修饰。final类中的成员变量可以根据需要设为final,但是要注意final类中的所有成员方法都会被隐式第指定为final方法。
在适用final修饰类的时候,要注意谨慎选择,除非这个类真的以后不会用用来继承或者出于安全考虑,尽量不要讲类设计为final类。
2、修饰方法
使用final方法的原因有两个。第一个原因是把方法锁定,以防任何继承类修改它的含义;第二个原因是效率。在早期的Java实现版本中,会将final方法转为内嵌调用。但是如果方法过于庞大,可能看不到内嵌调用带来的任何性能提升。在最近的Java版本中,不需要使用final方法进行这些优化了。
因此,如果只有在想明确禁止 该方法在子类中被覆盖的情况下才将方法设置为final的。
注:类的private方法会隐式地被指定为final方法。
3、修饰变量
对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。