java8和java9新特性

java8版本和之前的相比,有了很大的不同,可以实现的操作也更多了,可以让程序猿自己设计和更好实现某个功能的东西也多了,今天呢,我就稍微说一下自己所知道的个别新特性,也算是巩固一下自己的知识吧。

一、接口可以定义默认方法
从java8开始,接口允许定义默认方法,可以解决接口的升级问题,比如有许多类实现了某个接口,为了更好地满足顾客的需求,这个接口需要增添新的功能,但是总不能重新打开每个类,在里边添加吧,说夸张点,万一真的有成千上百个类实现了它呢。但现在有办法了,只要你用了java8以后的版本,创建实现类的对象就可以直接使用这个方法了。

格式如下:

public default 返回值类型 方法名 (参数){
	方法体
}

**有关说明:**其中的public可以写也可以不写,因为默认是public,建议初学的最好都写上。

二、定义静态方法
静态方法一般很好用,直接类名.就可以实现了,不用经历复杂繁琐的创建对象。现在你也可以使用接口名称.来调用接口中的静态方法了。

格式如下:

public static 返回值类型 方法名 (参数){
	方法体
}

**有关说明:**使用时直接通过接口名称.的方式。注意不能通过接口实现类的对象来调用接口中的静态方法,会编译报错,因为当一个类实现了多个接口时,如果接口中同名的方法,但实际上他们实现的具体形式不同,即方法体中的内容不同时,无法确定到底执行哪一个。

三、接口中可以定义私有方法
产生原因:当我们需要抽取一个公有的,用来解决两个默认方法之间重复代码的问题时。这个默认方法(见本文第一个内容)不应该是公有的,因为这样的话,实现类也可以调用,但是这种不合理,因为使用者只用关心能不能达到目的,而达到目的的具体实现细节,用了哪些方法不应该被知道,它应该只能被接口中需要用到这个方法的方法调用。

解决:
从java9开始,接口中允许定义私有方法,它分为两类,分别是普通私有方法和静态私有方法。
普通私有方法:可以解决多个默认方法之间重复代码的问题。
静态私有方法:可以解决多个静态方法之间重复代码的问题。

格式:

private 返回值类型 方法名 (参数){
	方法体
}

private static 返回值类型 方法名 (参数){
	方法体
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值