首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

请问一个final变量的有关问题

2013-11-06 
请教一个final变量的问题public class Test{public int test(final int x){return ++x}}这代码有错么?我

请教一个final变量的问题


public class Test{
  public int test(final int x){
    return ++x;
  }
}

这代码有错么?我感觉没错啊 final只是引用不能变,值可以变吧?
[解决办法]
刚百度了一个比较详细的  楼主看看  http://zhidao.baidu.com/question/357580512.html
[解决办法]
final 修饰的变量值是不能变的,这个是基本类型,哪来的引用?
[解决办法]
引用:

public class Test{
  public int test(final int x){
    return ++x;
  }
}

这代码有错么?我感觉没错啊 final只是引用不能变,值可以变吧?


你理解错了 对于基本类型 值不能改
[解决办法]
public int test(final int x) {
return ++x; //编译异常
}


int i = 1;
System.out.println(test(i)); //结果为2
System.out.println(i); //结果为1
[解决办法]
final修饰的为常量,不能再对其进行任何的修改。
[解决办法]
能编译过去吗?
[解决办法]
return ++x; //编译异常
当函数参数为final类型时,你可以读取使用该参数,但是无法改变该参数的值
[解决办法]
final修饰的变量为编译器级别的常量,编译器不允许其值被改变,因此定义变量同时必须初始化,否则编译器会报错。
[解决办法]
final 修饰的 是常量,就是常数
[解决办法]
final就是最后一次赋值,值不再变化了

热点排行