Java之JDK8三个新特性

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

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

①接口中定义方法

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

③Main方法调用

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

①接口People中定义

②Main方法调用

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

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

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

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

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

发布了55 篇原创文章 · 获赞 126 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_40275740/article/details/104165426