Java 中 final 字段的初始化

变量被声明为final,则初始化之后不能被重新赋值;
类的字段可以同时是final和static的;
局部变量和形参可以是final的。

声明final变量,可以只声明,不初始化,这样可以稍后再初始化(且只有这一次显式赋值的机会)。

/* final 变量的赋值 */
public class Final{
        final int a = 3; // 声明,同时初始化,这是常规用法
        final int b;     // b 的初始化延迟到构造函数中
        public Final(int b){ this.b = b;}
        public static void main(String[] args){
                final int x = 3; 
                final int y;
                y = 4; // 编译通过
                y = 5; // 报错
        }
}
<chenx@DESKTOP-AA9A5Q9 ch07>$ javac -encoding UTF-8 Final.java
Final.java:14: 错误: 可能已分配变量y
                y = 5;
                ^
1 个错误

版权声明:本文为chenxizhan1995原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。