java final 之 终极理解 简明扼要 通俗易懂
来源:互联网 发布:淘宝延长收货 编辑:程序博客网 时间:2024/06/05 18:18
首先我们来看一下一个小例子:
final List<Integer> list=new ArrayList<Integer>();
list.add(1);
list.add(2);
List<Integer>list2=new ArrayList<Integer>();
list=list2;
这里list=list2处报编译错,是因为list是一个final的对象,是指它的引用不能再指向其他的实例。这里让它指向list2的实例 显然是有问题的,但是这里并不能说明list的值就不会变了。
我们再看一下下面的例子:
public class TestRefer {
public static void main(String[] args) {
final List<Integer> list=new ArrayList<Integer>();
list.add(1);
list.add(2);
List<Integer>list2=new ArrayList<Integer>();
//list=list2;
list2=list;
list2.add(3);
System.out.println(list.toString());
}
}
打印输出[1, 2, 3] 这说明list的值变了,是因为虽然list的引用不能再指向别的实例,但是可以让别的引用指向list的实例。
从而改变list的值。
0 0
- java final 之 终极理解 简明扼要 通俗易懂
- java多线程终极实例讲解(通俗易懂)
- final之理解
- Java中的final理解
- JAVA final关键字理解
- 通俗易懂理解Java回调机制
- 深入理解Android之Java Security第二部分(Final)
- 深入理解Android之Java Security第二部分(Final)
- Java学习笔记之深入理解关键字final
- java final关键字深入理解
- Java关键字final的理解
- Java final关键字的理解
- java关键字之 final
- Java之final
- Java之Final
- java 关键字之final
- Java关键字之final
- java解惑之final
- 线程之间的通讯---SynchronizationContext
- UVA 11582 Colossal Fibonacci Numbers! 数学
- gets和scanf函数的区别
- LeetCode Validate Binary Search Tree
- 深度学习(Deep Learning)综述及算法简介
- java final 之 终极理解 简明扼要 通俗易懂
- HDU 2686 Matrix 3376 Matrix Again(费用流)
- 软件工程(十)——软件维护
- 运维总结
- 第十一周项目二求最大公约数
- 抓网页入门
- C#泛型详解
- spring for android
- U-Boot启动过程--详细版的完全分析