} } }

    Java中的final润饰形参

    添加时间:2013-5-14 点击量:

    1 package xingcan;
    
    2
    3 public class BB {
    4
    5 public int i = 4;
    6
    7 }



     1 package xingcan;
    
    2
    3 public class PP {
    4
    5 public static void f(final BB b) {//我的懂得是无法批改b
    6
    7 b.i = 55;
    8 }
    9
    10 public static void main(String[] args) {
    11
    12 BB x = new BB();
    13
    14 f(x);
    15
    16 System.out.println(x.i);//但事实上是批改了。。。,不知为什么????
    17
    18 /
    19 运行成果
    20 55
    21 /
    22 }
    23
    24 }


      final润饰根蒂根基类型(int,double,...)时价不克不及改变:例final int a = 6;a 的值就是6,不克不及改.


      润饰引用类型时,是把引用的地址不克不及改变,但所引用的对象的值可以改变


      比如上述那个例子:若是你想改变b的引用地址是错误的.如:b = new BB();是错的,


      但可以改变b引用对象的值,如b.i = 2;


      总结:对于根蒂根基类型,不成变指的是值


         对于引用类型,不成变指的是引用地址


    文艺不是炫耀,不是花哨空洞的文字堆砌,不是一张又一张的逆光照片,不是将旅行的意义转化为名牌包和明信片的物质展示;很多时候它甚至完全不美——它嘶吼、扭曲,它会痛苦地抽搐,它常常无言地沉默。——艾小柯《文艺是一种信仰》
    分享到: