final StringBuilder sb=new StringBuilder("Hello World");
//sb = new StringBuilder("trtt");//编译不通过
sb.append("1234");
System.out.println(sb.toString());
}
}
复制代码
final修饰基本数据类型变量时,基本数据类型变量的值不能改变
final int x = 5;
x = 6;//编译不通过.不能改变x的值
final修饰引用变量时,引用所指向的对象不能改变,对象中的内容可以改变
final StringBuilder sb=new StringBuilder("Hello World");
sb = new StringBuilder("trtt");//编译不通过
sb.append("1234");//内容可以改变
作者: 魏-玉-彪 时间: 2012-8-24 08:07
分两种情况,一种是修饰基本数据类型,这时变量的值不可以变
另一种是修饰引用数据类型,这时引用的对象不能改变,也就指向的数据地址不能变,但数据值可以变。作者: 刘学 时间: 2012-8-24 08:31
final 对于常量来说,意味着值不能改变,例如 final int i=20。这个i的值永远都是20。但是对于变量来说又不一样,只是标识这个引用不可被改变,例如 final File f=new File("D:\\Demo.txt");那么这个f一定是不能被改变的,如果f本身有方法修改其中的成员变量,例如是否可读,是允许修改的。