代码改变世界

java final 关键字

2012-11-01 19:17  Rudrj2  阅读(221)  评论(0编辑  收藏  举报

一直对final这个关键字的作用总是清晰了,又模糊,搞清晰了,又模糊。看来老人的话还是有用处的,好记性不如烂笔头,还是记录一下吧。

 
简单地来说,final变量的地址不能修改,但是里面的内容是可以修改的。相当于C语言中的指针本身不能被修改,但是指针所指的内容是可以修改的。
 
private final  List<String> list; // 声明一个变量 list
 
。。。。。。
 
list = new ArrayList<String>(); 
// 给 list 赋值
for ( int i = 0;i<100;i++){
list.add( i + "----final" );
}
 
。。。。。。。
 
list.set( 100, new String("修改 list 内容") ); // 可以修改 list 中的内容。
list .clear();
list = new ArrayList<String>(); // 编译会报错,不能修改 list 的地址。