为什么匿名内部类中用外部类的成员变量,外部类的成员变量必须是final
来源:互联网 发布:nginx版本1.13 编辑:程序博客网 时间:2024/05/16 19:01
public void sessionCreated(HttpSessionEvent se) {// TODO Auto-generated method stubHttpSessionEvent session = se;System.out.println("Session创建了");// 10秒后 过期时间// 当一个session过期了,就不能用了,但是他还在内存中 并没有销毁 Tomcat会定期清内存// 或者内存吃紧的时候会清内存// se.getSession().setMaxInactiveInterval(10);new Thread(new Runnable() {@Overridepublic void run() {// TODO Auto-generated method stubtry {Thread.sleep(5000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}session.getSession().invalidate();}}).start();}因为生存期的问题,当程序从上向下执行结束后,成员变量就会消亡,而上述线程先睡5秒在执行,那么如果成员变量死亡了,线程就使用不了,就会出错。
所以java规定如果是这样那么,成员变量必须加final,把成员变量放在常量池中,延长生命期。
或者定义一个全局变量
阅读全文
0 0
- 为什么匿名内部类中用外部类的成员变量,外部类的成员变量必须是final
- [Java] 匿名内部类访问外部类的局部变量为什么一定得是final类型
- java匿名内部类使用外部变量时,外部变量必须是final,为什么?
- java匿名内部类使用外部变量时,外部变量必须是final,为什么?
- java匿名内部类使用外部变量时,外部变量必须是final,为什么?
- 匿名内部类使用的外部变量为什么要是final
- 匿名内部类引入外部变量必须是final?
- 【面试对宝典40题的解释】匿名内部类访问外部类中的局部变量必须是final属性
- java内部类引用外部类的变量时必须是final变量
- 匿名内部类访问外部类中的局部变量必须是final属性
- 匿名内部类访问外部类中的局部变量必须是final属性
- 匿名内部类访问外部类中的局部变量必须是final属性
- 内部类获取外部类的成员变量
- 匿名内部类是什么?为什么其访问外部变量必须是finally的?
- 局部内部类引用外部类中的局部变量必须是final属性的!
- 局部内部类引用外部类中的局部变量必须是final属性的!
- 局部内部类引用外部类中的局部变量必须是final属性的!
- 局部内部类引用外部类中的局部变量必须是final属性的!
- Hadoop2.7.3下Hive 与MySQL
- python 匹配字符串开头和结尾
- 使用scikit-learn实现决策树的算法模板
- sort方法对象中按照某个属性排序
- sqlserver约束详解及用途
- 为什么匿名内部类中用外部类的成员变量,外部类的成员变量必须是final
- MLAPP读书笔记(一)监督式学习与非监督式学习简介
- java开发编译器:把结构体数组编译成java字节码
- Android视频加密
- 教你无脑在centos上安装redis
- Bentley.RM.Bridge.Advanced.V8i.08.11.18.01.rar
- 流媒体动态码率自适应方案
- 寻找奇数出现 位运算
- Loadrunner进行文件的上传和下载 功能