Java之JDK8三个新特性

一、接口中可以定义有方法体的方法

1.定义非静态方法,方法需要用default修饰,实现类不需要对其重写,可实例化后直接调用。

①接口中定义方法

②实现类(空,不需要重写)

③Main方法调用

2.定义静态方法,直接 接口名.方法名 即可调用。

①接口People中定义

②Main方法调用

二、局部内部类调用局部变量,局部变量可不用final修饰,系统会自动为局部变量加上final修饰。

注意:因为局部变量系统会自动为其加上final修饰,所以局部变量的值初始化后就不可变,否则报错。

-----------------------------------分割线-----------------------------------

局部内部类在访问他所在方法中的局部变量必须用final修饰,为什么?

解析:因为当调用这个方法时,局部变量如果没有用final修饰,它的生命周期和方法的生命周期是一样的,当方法弹栈,这个局部变量也会消失,那么如果局部内部类对象还没有马上消失想用这个局部变量,就法用了,如果用final修饰会在类加载的时候进入常量池,即使方法弹栈,常量池的常量还在,也可以继续使用。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值