有final引出的一个问题
来源:互联网 发布:李小璐开的淘宝店名字 编辑:程序博客网 时间:2024/05/21 09:52
Java要求所有被内部类访问的局部变量都是使用final类型的。
对应普通的局部变量而言,他的作用域就停留在方法内,当方法结束时,改局部变量也随之消失。
但内部类则可能产生隐式的 “闭包”,闭包将使得局部变量脱离它所在的方法继续存在。
实例:
第7行代码执行结束后 线程中仍然可以访问 final变量 info
public class MyFinal{public static void main(String [] args){MyFinal mf = new MyFinal();mf.test();System.out.println("test method operation end");mf.other();}public void other(){System.out.println("action other....");}public void test(){final String info = "Java";Thread t =new Thread(new Runnable(){@Overridepublic void run(){for(int i = 0 ;i<1000;i++){System.out.println(info+" i ="+i);try{Thread.sleep(2000);}catch(InterruptedException e){e.printStackTrace();}}}});System.out.println("ready start thread");//start threadt.start();System.out.println("start thread finish");}}
0 0
- 有final引出的一个问题
- PhotoCamera引出的一个问题
- 一个PATH引出的问题
- 从const_cast引出的一个问题
- 从一个String类引出的问题
- 一个C++小题目引出的问题
- 闭包引出的一个问题
- 由一个android的getView方法侦听引出的对final的理解
- 一个小问题引出的有关CSS优先级的思考
- #引出的各种问题
- lambda引出的问题
- 由一个性能问题引出的.net概念
- 瞎折腾引出的一个windows系统管理问题
- 一个多表查询引出的问题(1)
- 一个多表查询引出的问题(2)
- 一个C笔试题引出一系列的问题
- main中的两个参数和引出的一个问题。
- 一个C笔试题引出一系列的问题
- Android获取CPU使用率的几种方式
- IO输出类型
- GOOGLE VR SDK开发VR游戏,VR播放器之一
- DM8148开发板U-boot编译步骤
- PAT 1003
- 有final引出的一个问题
- 文章标题
- 10个集合,集合中无重复元素,但元素个数海量。求这个10个集合的交集。
- 【《代码整洁之道》精读与演绎】之一 让代码比你来时更干净
- navigationBar导致collectionViewCell/tableViewCell偏移
- Linux下获取文件编译的时间
- 例子:fgets函数
- 【《代码整洁之道》精读与演绎】之二 高质量代码的命名法则
- C++中的new、operator new与placement new