1.static关键字
static表示静态的,唯一的
修饰变量:表示静态变量,通过类名.变量名访问,内存空间在方法区,整个类只有一份。普通方法通过对象名.变量名访问。
修饰方法:表示静态方法,通过类名.方法名访问,静态方法只能访问静态变量与其他静态方法,不能访问普通方法与普通变量。
静态块:当JVM加载完类时,如果这个类中有静态块,则立即执行块中代码。
2.final关键字
final:最终的,不变的。
修饰类:表示此类不可继承;
修饰方法:表示此方法不能重写;
修饰变量:表示此变量的值不能改变,常量,必须赋初值。当把一个变量声明为final时,一般也将其声明为static。
3.java中final,finally,finalize的区别
final:是关键字,修饰符,最终的,不变的;修饰类:表示此类不可继承;修饰方法:表示此方法不能重写;修饰变量:表示此变量的值不能改变,常量,必须赋初值。当把一个变量声明为final时,一般也将其声明为static。
finally:是异常处理的一个关键字;finally常用于最后的收尾工作,不管有无异常发生,finally块中的代码一定会被执行,并且是最后执行。
finalize:是Object类中提供的一个方法,其方法类似c++中的析构函数一样,当我们需要在对象消亡时进行操作时,就可以重写finalize方法;但我们并不知道垃圾回收车什么时候执行,也就不知道finalize方法什么时候执行;但finalize最后肯定会执行。