java规定 java会给成员变量赋予默认值java不会给局部变量赋予默认值 public class Test{ int a ; //成员变量 public static void main(String[] args){ int b; //局部变量 } } 此时, 如果System.out.println( b );会报错如果System.out.println( a );不会报错 但是,如果前面加final修饰 final int a ; //会报错,必须 final int a = 0 ; final int b ; //不会报错,但是之后的代码必须赋值,且仅一次!