JAVA8新特性:接口也可以写实现方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JAVA8新特性:接口也可以写实现方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1399字,纯文字阅读大概需要2分钟。
内容图文
![JAVA8新特性:接口也可以写实现方法](/upload/InfoBanner/zyjiaocheng/624/f076d406c9b343eeab08fcc767507c36.jpg)
在日常开发中可能很多人对JAVA8的一些新特性不太关注:
有一个新特性看似不起眼,一旦用到了则会觉得非常的方便;
很多人都觉得接口接口里面只能写抽象方法,不能写实现方法;
实际上在JAVA8更新后,接口就可以添加默认方法和静态方法:默认方法用default修饰符修饰,会被其他接口继承;而静态方法使用static修饰符修饰;
非常典型的就是java.util.Map,有兴趣的可以去瞧一瞧;
为什么要有接口默认方法?
举一个很现实的例子:
我们的接口老早就写好了,后面因为各种业务问题,避免不了要修改接口。
在 Java 8 之前,比如要在一个接口中添加一个抽象方法,那所有的接口实现类都要去实现这个方法,不然就会编译错误,而某些实现类根本就不需要实现这个方法也被迫要写一个空实现,改动会非常大。
所以,接口默认方法就是为了解决这个问题,只要在一个接口添加了一个默认方法,所有的实现类就自动继承,不需要改动任何实现类,也不会影响业务,爽歪歪。
另外,接口默认方法可以被接口实现类重写。
为什么要有接口静态方法?
接口静态方法和默认方法类似,只是接口静态方法不可以被接口实现类重写。
接口静态方法只可以直接通过静态方法所在的 接口名
.静态方法名
来调用。
注意点
在接口多继承的情况下,被继承的接口如果存在相同的默认方法,是会引起编译报错的,如果在继承接口类中不重写此默认方法是会报错的;
如果需要调用父类的方法可以通过 被继承类的类名.super.默认方法名 的形式调用父类默认方法;
有一种情况下例外:就是多继承的接口有相同的默认方法,也就是其中一个接口重写了父类的默认方法,这种情况下不需要重写默认方法;
默认方法与接口抽象方法定义相同:默认方法会优先于接口抽象方法,接口定义的方法会被忽略;
内容总结
以上是互联网集市为您收集整理的JAVA8新特性:接口也可以写实现方法全部内容,希望文章能够帮你解决JAVA8新特性:接口也可以写实现方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。