final
1.修饰类:该类无法被继承。
2.修饰成员函数:成员函数无法再被重写。
3.修饰成员变量:变量直接变为常量,如果是基本数据类型,那么无法修改。如果是引用类型,那么不能修改指向的对象。
static
1.修饰成员方法:不需要创建对象,就可以直接通过类调用目标静态函数。
2.修饰成员变量:该成员变量可供所有的对象共享,整个类只存在一份。static成员变量的初始化顺序按照定义的顺序来进行初始化,并且static不可以修饰局部变量。
3.修饰代码块:类中可以有多个static代码块,并且可以置于类中的任何地方(除了成员函数内部),在类被初次加载的时候,这些static代码块就会按序执行,并且这些代码只会执行一次。