您的位置:首页 > 其它

【final修饰符】

2015-06-22 21:04 447 查看
【final修饰符】
final修饰的成员蛮必须由程序员显式地指定初始值。

当使用final修饰基本类型变量时,不能对基本类型变量重新赋值,因此基本类型变量不能被改变。但对于引用类型变量而言,它保存的仅仅是一个引用,final只保证这个引用类型所引用的地址不会改变,即一直引用同一个对象,但这个对象的值可以改变。

import java.util.Arrays;
 
 
class Person
{
    private
int
age;
    public Person()
    {
       
    }
    public Person(int age)
    {
        this.age=age;
    }
   
    public
void
setAge(int age)
    {
        this.age=age;
    }
    public
int
getAge()
    {
        return
this
.age;
    }
}
 
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[2]=-3;
        System.out.println(Arrays.toString(iArr));
        //下面语句对iArr重新赋值,非法
        //iArr=null;
        //final修饰Person变量,p是一个引用变量
        final Person p=new Person(50);
        //改变Person对象的age Field,合法
        p.setAge(20);
        System.out.println(Arrays.toString(iArr));
        //下面语句对p重新赋值,非法
        //p=null;
    }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  final