Static、Final、static final
final可以修饰:属性,方法,类,局部变量(方法中的变量)
用final关键字修饰的变量,只能进行一次赋值操作,并且在生存期内不可以改变它的值。
在声明final类型的成员变量时就赋初值
在声明final类型的成员变量时不赋初值,但在类的所有构造方法中都为其赋上初值。
使用final关键字修饰类的作用,那就是用final修饰的类是无法被继承的
用final关键字修饰方法,它表示该方法不能被覆盖。
这就用到了final的第二种用法,即在我们编写方法时,可以在参数前面添加final关键字,它表示在整个方法中,我们不会(实际上是不能)改变参数的值
static可以修饰:属性,方法,代码段,内部类(静态内部类或嵌套内部类)
static修饰的属性的初始化在编译期(类加载的时候),初始化后能改变
static final
static final和final static没什么区别,一般static写在前面
static修饰的属性强调它们只有一个,final修饰的属性表明是一个常数(创建后不能被修改)。static final修饰的属性表示一旦给值,就不可修改,并且可以通过类名访问。
参考:https://blog.csdn.net/happybruce8023/article/details/79943997