Java final修饰变量的用法(附带实例)
Java 中的关键词 final 可以用来修饰变量:
下面通过一个示例演示 final 关键词修饰基本数据类型和引用数据类型的方法。
- 当 final 修饰基本数据类型时,该变量就成了常量,只能被赋值一次;
- 当 final 修饰引用数据类型时,该变量的值不能改变,即该对象的内存地址不变,该变量不能再指向别的对象,但对象内的成员变量的值可以改变。
下面通过一个示例演示 final 关键词修饰基本数据类型和引用数据类型的方法。
public class FinalTest1 { // final 修饰基本数据类型 final static int count = 100; public static void main(String[] args) { // 下面语句删除注释后,发生编译错误 // count = 101; // 用 final 修饰的变量只能赋值一次 // final 修饰引用数据类型 final Person p1 = new Person(); Person p2 = new Person(); // 下面语句删除注释后,发生编译错误 // p1 = p2; // final 修饰的 p1 不能再指向其他对象 // p1 的成员变量的值可以修改 p1.name = "zhangsan"; System.out.println(p1.name); } }程序运行结果为:
zhangsan
通过在 Eclipse 中编写上述代码可以发现,final 修饰的基本数据类型只能赋值一次。final 修饰的引用数据类型不能再指向其他对象,但可以修改该对象的成员变量,例如这里把对象的成员变量 name 的值修改为 zhangsan。