【final修饰符】

【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;

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值