[Java]final关键字的使用 引用类型引用不变 基本类型值不变

[Java]final关键字的使用 基本类型值不变 引用类型引用不变

完整源码

public class TestVector{
    /* 用  例  代  码 */
    public static void main(String args[]){
        double[] a = {3.0,4.0};
        Vector vector = new Vector(a);
        a[0] = 0.0;
        System.out.println(vector);


        double a1 = 3.0;
        Vector1 vector1 = new Vector1(a1);
        a1 = 0.0;
        System.out.println(vector1);
    }
}

/*  实   现   代   码   */
class Vector{
    private final double[] b;
    public Vector(double[] a)
    {
        b = a;
    }
    public String toString(){
        return "b[0] = "+b[0];
    }
}

class Vector1{
    private final double b;
    public Vector1(double a){
        b  = a;
    }
    public String toString(){
        return "b = "+b;
    }
}

运行结果

/* Command line */
$ javac TestVector.java
$ java TestVector

Compiling TestVector.java.......  
-----------OUTPUT-----------  
b[0] = 0.0
b = 3.0

代码说明

引用类型引用不变,但是引用的值可以变

Vector类中的的 [ ]b 指向的 [ ]a的引用,在用例代码中,使用赋值语句a[0]=0.0 可以改变 的是a的值,但是 不会改变 b对a的引用;

基本类型值不变

Vector1类中的变量a、b之间传递的是值,所以改变a的值不会影响b的值;

我的思考

引用类型

Created with Raphaël 2.1.2 b[ ] b[ ] a[ ] a[ ] a酱,我永远不会改变对你的引用 b桑:如果我的值变了呢T^T " b[0] = 0.0 如影随行、生死不离"

基本类型

Created with Raphaël 2.1.2 b b a a a酱,你在我心中的价值永远不变 b桑:我,a = 0.0 " b = 3.0,你变了而我却没有"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值