final修饰变量
final修饰基本类型变量
当使用final修饰基本类型变量时,不能对基本类型变量重新赋值,因此基本类型变量不能被改变
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。final修饰引用类型变量
当使用final修饰引用类型变量时,它保存的仅仅是一个引用,final只能保证这个引用类型变量所引用的地址不会改变,即一直引用同一个对象,但这个对象完全可以改变
package com.j1803.finalTest; import java.util.Arrays; public class FinalReferenceTest { public static void main(String[] args) {//final修饰数组变量,iArr是一个引用变量
final int [] iArr={5,6,12,9};
System.out.println(Arrays.toString(iArr));
//对数组元素进行排序,合法
Arrays.sort(iArr);
System.out.println(Arrays.toString(iArr));
//对数组iArr重新赋值,合法
iArr[2]=-100;
//下面语句对iArr重新赋值,非法
//iArr=null;
//final修饰一个Person变量,p是一个引用变量
final Person p=new Person(22);
//改变Person对象p的实例变量,合法
p.setAge(45);
System.out.println(p.getAge());
//非法
//p=null;
} }
class Person{
private int age; public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public Person(int age) {
super();
this.age = age;
}
}

更多精彩