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

来源:互联网 发布:爱剪辑 for mac 下载 编辑:程序博客网 时间:2024/06/05 19:30

[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 TestVectorCompiling TestVector.java.......  -----------OUTPUT-----------  b[0] = 0.0b = 3.0

代码说明

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

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

基本类型值不变

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

我的思考

引用类型

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

基本类型

Created with Raphaël 2.1.2bbaaa酱,你在我心中的价值永远不变b桑:我,a = 0.0" b = 3.0,你变了而我却没有"
0 0
原创粉丝点击