public class Word_Final {
/**
* final : 可以保护成员字段所赋的值不被改变. 加上final则这个字段一旦被初始化就不可被修改.
* 一般情况下在创建对象时,系统都对其成员字段进行默认初始化,被final关键字修饰的成员变量不会被初始化.
*/
// final String string1; // 这句报错.会提示没有进行赋值.
final String string2 = "string2";
public static void main(String[] args) {
// 非静态字段需要通过对象访问
Word_Final static1 = new Word_Final(); // 实例化
// 下面第一句被注释的final也会报错.
// 应该把类实例化后通过对象访问.因为它不是static的
// System.out.println("final test --- " + string2);
System.out.println("final test --- " + static1.string2);
// 下边这句也会直接报错,会提示把string2改为非final的.
// 因为被final修饰的字段的值不能被改变
// static1.string2 = "change";
}
}