A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© OhYoung_Fun 中级黑马   /  2015-9-27 11:14  /  227 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

先从Java 8之前说起。要区分“声明多继承”与“实现多继承”。
Java是不允许“实现多继承”,简称不允许“多继承”。但是Java支持“声明多继承”——Java的接口的多继承。接口只允许有方法声明而不允许有实现,因而不会出现像C++那样的实现多继承的决议问题;抽象类可以有方法实现,但要遵循Java类的单继承限制,也避免了实现多继承的问题。
然后,从Java 8开始,接口允许为方法提供“默认实现”了——默认方法,因而实质上Java 8的接口多继承其实也会涉及到实现多继承,并且语言层面有专门规定去解决实现多继承时选择哪个版本的问题——哪个都不选择,而是在发现会继承多个默认方法实现并且没有override时报错,逼使用户显式override可能冲突的方法。

1 个回复

倒序浏览
感谢楼主分享,学习一下!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马