Java8增加功能--Effectively final 功能

java8新增了很多功能,可以大大简化代码,这个系列将会一一辅助代码加以介绍。

局部内部类和匿名内部类访问的局部变量必须由final修饰,java8开始,可以不加final修饰符,由系统默认添加。java将这个功能称为:Effectively final 功能。

下面是完整掩饰代码(至少使用jdk1.8版本):

public class EffectivelyFinalDemo
{
	public static void main(String[] args)
	{
	     //局部内部类和匿名内部类访问的局部变量必须由final修饰,java8开始,可以不加final修饰符,由系统默认添加
		 //因此下面两句的效果是一样的
		//final int age=99;
		int age=99;
		//运行代码 <1>将会抛出以下错误
		//EffectivelyFinalDemo.java:14: 错误: 从内部类引用的本地变量必须是最终变量或实际上
        //的最终变量
		//age=11;  <1>
		A a=new A()
		{
			public void test()
			{
				//Cannot refer to a non-final variable age
				//inside an inner class defined in a different method
				System.out.println(age);
			}
		};
		a.test();
	}
}
//接口
interface A
{
	void test();
}
时间: 2024-10-12 12:00:35

Java8增加功能--Effectively final 功能的相关文章

收音机(FM2)增加自己主动唤醒功能

高通原有代码里面就有收音机的睡眠功能.就是你能够进入收音机中设置睡眠时间类似"天天动听"等应用,到时间了就自己主动的退出该应用. 客户看到有这个功能就想要有一个自己主动唤醒的功能咯.客户总是希望相同的价格你能给我做到很多其它的功能更划算咯. 1.改动文件: /FMRadio/src/com/caf/fmradio/FMRadio.java /FMRadio/src/com/caf/fmradio/FMMediaButtonIntentReceiver.java /FMRadio/And

android wear开发之:增加可穿戴设备功能到通知中 - Adding Wearable Features to Notifications

注:本文内容来自:https://developer.android.com/training/wearables/notifications/index.html 翻译水平有限,如有疏漏,欢迎批评指教. 译:山人 增加可穿戴设备功能到通知中 Adding Wearable Features to Notifications When an Android handheld (phone or tablet) and Android wearable are connected, the han

Win8增加了快速启动功能......

(从已经死了一次又一次终于挂掉的百度空间人工抢救出来的,发表日期 2014-05-11) Win8增加了快速启动功能,能让计算机尽快的启动进入Windows界面.win8的这种快速启动功能只会在“关机”后再开机时起作用,对于直接选择“重启”不起作用.默认情况下,在 Windows 中快速启动处于启用状态. 这种设置还会造成一个问题,就是部分笔记本无法正常关机,点击关机后只是锁定了屏幕. 关闭方法: 控制面板 硬件和声音 电源选项 选择电源按钮的功能(左侧列表) 更改当前不可用的设置 关机设置 启

可在广域网部署运行的QQ高仿版 -- GG叽叽V3.5,增加自拍头像功能、细节优化(源码)

距离上次发版本(GG叽叽V3.4,增加系统设置.最近联系人.群功能)又有1个月了,在这个月内,由于空闲时间不是很多,所以,GG增加的主要功能只是拍照并设定其为自己头像.修改密码.删除好友.以及一些bug的修改.我试着列了一下接下来GG要优化的地方,总共达20多条,看来GG离一个正式的产品还有很长的路要走.慢慢来吧! 一.GG V3.5 新增功能展现 1.自拍头像 2.修改密码 3.删除好友 4.其它 (1)主窗口允许改变大小. (2)修复bug:聊天发消息时,如果截图很大,对方就收不到. (3)

全志Android设备增加Usb host ADK 功能

全志Android设备增加Usb host ADK 功能 Usb Host ADK是指不采用USB驱动,直接用java与设备编程的 这样让Android 可以无需修改内核和驱动情况下方便与各种USB外设通讯.全志的CPU的资料都是公开的,因此我们在上面开发很多应用.但是发现无法使用usb host 接口. 一.测试 可以简单下载USB Device info 来测试 https://play.google.com/store/apps/details?id=aws.apps.usbDeviceE

Yii ExtendedActiveRecord 增强版 ActiveRecord 增加多数据库连接绑定功能

ExtendedActiveRecord 继承自 CActiveRecord,因此基础功能与 CActiveRecord 无异 为添加对多数据库连接的支持,增加了对 connectionName() 方法的回调,用法跟已有的 tableName() 方法一致,返回数据库连接组件名称的字符串. 如果不定义该方法,则使用默认数据库连接(db) 源码如下: class ExtendedActiveRecord extends CActiveRecord { public static $db = ar

仿EXCEL插件,智表ZCELL产品V1.7 版本发布,增加自定义右键菜单功能

详细请移步 智表(ZCELL)官网www.zcell.net 更新说明  这次更新主要应用户要求,主要解决了自定义右键菜单事件的支持,并新增了公式中自定义函数传参.快捷键剪切等功能,欢迎大家体验使用. 本次版本更新内容如下: 版本: V1.7发布日期:2019-07-05 1.优化公式中的自定义函数,增加传入参数的支持. 2.增加剪切快捷键CTL+X支持功能. 3.增加自定义右键菜单功能,用户可以自定义开发右键功能,通过BindEvents接口实现. 4.新增获取单元格是否合并单元格接口GetC

PyCharm 2019.3发布,增加了哪些新功能呢?

Python的IDE(Integrated Development Environment 集成开发环境)非常多,如:VS Code.Sublime.NotePad.Python自带编辑器IDLE.JuPyter.Eclipse + PyDev等等,但是对于项目开发.管理.部署等稍微大一点的项目,猪哥觉得还是PyCharm最好用! 2019年12月2日,PyCharm迎来了2019.3版本,这也许会是2019年的最后一个大版本,那这个版本增加了哪些新功能呢?我们一起来看看吧! 来源 | PyCh

Ubuntu下wxWidgets学生公寓管理编程,sqlite3的用法(mysql数据库),窗体,下面是部分添加和删除功能,其他功能可以联系我。。

以下是学生公寓信息管理的增加和删除,仅供参考.. void StuManaFrame::OnAdd(wxCommandEvent &event) { //add student's dormitory infomation sqlite3 *db=NULL; int flag; char *errmsg; flag = sqlite3_open("./stuinfo.db",&db); if(SQLITE_OK != flag) { wxLogMessage("