黑马程序员技术交流社区
标题:
final关键字问题
[打印本页]
作者:
宗士为
时间:
2012-5-21 09:02
标题:
final关键字问题
当我们使用final关键字修饰一个字符串变量时
是字符串的引用不能变
还是说字符串引用的内容不能变
有点乱 求解
作者:
王怡然
时间:
2012-5-21 09:06
final可以用来修饰变量:被final修饰的变量为常量,值不能被修改。
作者:
张文建
时间:
2012-5-21 09:12
final可以修饰类,函数,变量
修饰类时:修饰类为最终类,任何类
不能
再
继承
它.
修改函数时:该方法在类里是最终方法,继承它的方法
不能去重写它
.
修饰变量时:被修饰的变量是常量或者叫终态变量,一旦初始化后就
不能再改变变量的值
.
作者:
魏涞
时间:
2012-5-21 09:14
用final关键字修饰一个字符串变量,是字符串的引用不能变。
如:final String str=new String("abc");
这里的str指向一个字符串对象地址,被final修饰后,str的值就不能被改变了,
str=new String("def");这就会报错,提示str不能被修改。
但str.append("xxx");是可以的,对象的值是可变的
作者:
古银平
时间:
2012-5-21 09:20
final 对于常量来说,意味着值不能改变,例如 final int i=100。这个i的值永远都是100。但是对于变量来说又不一样,只是标识这个引用不可被改变,例如 final File f=new File("c:\\test.txt");那么这个f一定是不能被改变的,如果f本身有方法修改其中的成员变量,例如是否可读,是允许修改的。形象的比喻:一个女子定义了一个final的老公,这个老公的职业和收入都是允许改变的,只是这个女人不会换老公而已。
作者:
荣天
时间:
2012-5-21 09:21
final的特点:
1.修饰变量(成员变量,局部变量,静态变量)函数,类;
2.修饰的类不可以被继承;
3.修饰的函数不可以被覆盖;
4,修饰的变量是一个常量,只能赋值一次;
*5。内部类只能访问局部的final修饰变量;
例题就不说了 特点基本就这几个;
作者:
niceBoy
时间:
2012-5-21 11:34
当我们使用final关键字修饰一个字符串变量时,是字符串的引用不能变,只能指向那个字符串对象。
不过字符串对象本身也是final修饰,也是不可以变的
作者:
张成龙
时间:
2012-5-21 11:52
final关键字修饰一个变量时,是引用变量不能变,引用变量所指向的对象中的内容还是可以改变的
但是字符串初始化之后也是不能变的,只能改变字符串引用的指向
public class Mypra {
public static void main(String[] args) {
final StringBuffer sb = new StringBuffer("hello java");
// sb = new StringBuffer("");//编译失败
//The final local variable sb cannot be assigned.
//It must be blank and not using a compound assignment
sb.append("hello word"); //通过编译:
System.out.println(sb);
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2