面试的时候老是被问到jdk1.8的新特性,总是只会回答增加了labmda表达式(其实自己压根没用过,并且不会用),终于今天通过自己的坑发现了一个新特性--闭包(不确定是不是,屌大可以帮我回复下~~)。
公司测试环境以及同事环境的jdk为1.7,我的是jdk1.8,我这边一段代码是这样的:
而同事这边更新之后是这样的:
是的 ,内部类不能直接使用外部类的变量,要用的话必须在外部类声明加final关键字,或者
这样子解决。
唉,还是高级的版本好,没有了final关键字的限制,直接傻瓜式编程,多爽。
当然,内心这么想就好了,这边做个笔记,算是为以后造飞机用到的一个零件吧~~~~
ps:这应该不算闭包之类的概念吧····求屌大的指教下~
热门评论
可怕 lambda和内部类直接访问外部类属性和方法怕是人人都知道哦