Final变量的运用
Final变量的运用
import java.util.Arrays;
public class Day1 {
public static void main(String[] args)
{
final int arr[]= {1,2,5,74,3};
System.out.println(Arrays.toString(arr));
Arrays.sort(arr);
arr[2]=-8;//final修饰的变量不能被重新赋值,只是数组元素的值变了
System.out.println(Arrays.toString(arr));
final Person a=new Person(30);
a.setter(40);//引用变量不能被重新赋值,变的是对象的值(堆内存中的值变了)
System.out.println(a.getter());
}
}
class Person
{
private int age;
public Person(int age)
{
this.age=age;
}
public void setter(int age)
{
this.age=age;
}
public int getter()
{
return this.age;
}
}
final修饰符一重要用途定义宏变量,例如final int a=3;变量a实际上就不存在,执行System.out.println(a);代码时实际上执行的是System.out.println(3);,当定义final变量时指定了初始值,这个初始值在编译时就确定了下来。