java中的多继承
2015-09-16 00:13
483 查看
众所周知,java面向对象语言中只有单继承的编程语言,也许你会说,通过实现多个接口这种变通的方式达到多继承的目的。没错,你说的对,不过这并不是本片文章要说到的内容,本文要讲到的内容是java中实实在在存在的多继承结构,废话不多说了,咱们进入主题吧。
其实,说起继承关系,大家的第一印象肯定是类的继承,就java而言,类的继承的的确确是单继承的,就这点而言,毋庸置疑,java的语法和编译器将这一点限制的死死的,假设你试图让一个类通过extends关键字继承一个以上的父类,编译一定通过不过得。
这里说的多继承是接口的多继承,我们知道类在实现接口时,通过implements关键字来使用和实现多个接口。扩展性java的一个重要的特性,若果我们想对已有的多个接口进行扩展,因为不是实现接口,就不能使用implements关键字,那怎么办呢,那就只能使用extends关键字了。下面看代码:
Vampire接口继承了Monster,Lethal俩个接口,而且使用了关键字extends,在编译器中也没有报错,是不是很有意思,这就是java中的多继承。
注:java中的多继承仅适用于接口,类没有多继承,只有单继承
其实,说起继承关系,大家的第一印象肯定是类的继承,就java而言,类的继承的的确确是单继承的,就这点而言,毋庸置疑,java的语法和编译器将这一点限制的死死的,假设你试图让一个类通过extends关键字继承一个以上的父类,编译一定通过不过得。
这里说的多继承是接口的多继承,我们知道类在实现接口时,通过implements关键字来使用和实现多个接口。扩展性java的一个重要的特性,若果我们想对已有的多个接口进行扩展,因为不是实现接口,就不能使用implements关键字,那怎么办呢,那就只能使用extends关键字了。下面看代码:
package com.lib.ThinkInJava.mutilExtends; public interface Lethal { void kill(); } package com.lib.ThinkInJava.mutilExtends; public interface Monster { void destroy(); } package com.lib.ThinkInJava.mutilExtends; public interface Vampire extends Monster, Lethal { void drinkBlood(); }
Vampire接口继承了Monster,Lethal俩个接口,而且使用了关键字extends,在编译器中也没有报错,是不是很有意思,这就是java中的多继承。
注:java中的多继承仅适用于接口,类没有多继承,只有单继承
相关文章推荐
- java导出cvs文件
- 浅谈Java的==、equals()、hashcode()
- struts2的Invalid action class configaration错误
- JavaSwing基本控件汇总(iteyes)
- java中串行化(序列化)的作用与用处(iteyes)
- 提升办公效率方法之一
- java重写hashCode
- java-字符串的创建和存储机制
- java导出大量的excel
- 【学习日记】javaIO流的知识点总结(2)
- 大龄屌丝自学笔记--Java零基础到菜鸟--018
- MyBatis详解 与配置MyBatis+Spring+MySql
- spring mvc访问静态资源的三种方式
- java中数组转换为json格式
- Spring4 MVC Hibernate4集成
- 使用Maven运行Java main的3种方式
- 8张图理解Java
- BlackBerry Java 开发环境搭建及插件安装
- java数据类型
- 这些天自身努力的体会,关于java方面的