static:
1.Static可以修饰内部类、方法、变量、代码块;
2.Static修饰变量是静态变量或者叫类变量,静态变量被所有实例所共享,不会依赖于对象;
3.Static修饰的方法是静态方法,表示该方法属于当前类的,而不属于某个对象的,静态方法也不能被重写,可以直接使用类名来调用;接口中的静态方法只能使用接口名直接调用;
4.在static方法中不能使用this或者super关键字;
5.Static修饰的类是静态内部类;
6.Static修饰的代码块叫静态代码块,通常用来做程序优化的。静态代码块中的代码在整个类加载的时候只会执行一次。
final:
1. 被final修饰的类不可以被继承;
2. 被fifinal修饰的方法不可以被重写;JVM会尝试将其内联,以提高运行效率;
3. 被fifinal修饰的变量不可以被改变.如果修饰引用,那么表示引用不可变,引用指向的内容可变;
4. 被fifinal修饰的常量,在编译阶段会存入常量池中。