当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
Javafinal修饰形参
发布时间:2010/11/25 10:45:28 来源:城市学习网 编辑:ziteng
  class BB
  {
  public int i;
  }
  class PP
  {
  public static void f(final BB ref) //我的理解是无法修改ref
  {
  ref.i = 55;
  }
  public static void main(String args[])
  {
  BB x = new BB();
  f(x);
  System.out.println(x.i); //但事实上是修改了。。。,不知为什么????
  }
  }
  final修饰基本类型(int,double,...)时值不能改变:例final int a = 6;a 的值就是6,不能改.
  修饰引用类型时,是把引用的地址不能改变,但所引用的对象的值可以改变,就像楼主举的那个例子:如果你想改变ref的引用地址是错误的.如:ref = new BB();是错的,但可以改变ref引用对象的值,如ref.i = 2;
  总结:对于基本类型,不可变指的是值
  对于引用类型,不可变指的是引用地址
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved