java 为什么不能多继承(为什么Java中不允许多重继承)
大家好,感谢邀请,今天来为大家分享一下java 为什么不能多继承的问题,以及和为什么Java中不允许多重继承的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
为什么Java不支持多重继承
以前itjob老师教过:一,Java不支持多继承是由Java的定义决定的,Java最重要的定义,就是因为它是一种简单的面向对象解释型的语言。
二,Java不能多重继承是因为这种方法很少被使用,即使要使用也可以通过接口来实现多重继承问题。
三,Java的定义:
1,因为Java:一种简单的,面向对象的,分布式的,解释型的(译者注:Java既不是纯解释型也不是纯编译型的语言),健壮的,安全的,架构中立的,可移植的,高性能的,支持多线程的,动态语言。
2,假设可以多重继承:
有两个类B和C继承自A;假设B和C都继承了A的方法并且进行了覆盖,编写了自己的实现;假设D通过多重继承继承了B和C,那么D应该继承B和C的重载方法,那么它应该继承的是B的还是C的?这就陷入了矛盾,所以Java不允许多重继承。
为什么Java中不允许多重继承
一,Java不支持多继承是由Java的定义决定的,Java最重要的定义,就是因为它是一种简单的面向对象解释型的语言。
二,Java不能多重继承是因为这种方法很少被使用,即使要使用也可以通过接口来实现多重继承问题。
三,Java的定义:
1,因为Java:一种简单的,面向对象的,分布式的,解释型的(译者注:Java既不是纯解释型也不是纯编译型的语言),健壮的,安全的,架构中立的,可移植的,高性能的,支持多线程的,动态语言。
2,假设可以多重继承:
有两个类B和C继承自A;假设B和C都继承了A的方法并且进行了覆盖,编写了自己的实现;假设D通过多重继承继承了B和C,那么D应该继承B和C的重载方法,那么它应该继承的是B的还是C的?这就陷入了矛盾,所以Java不允许多重继承。
java 可不可以继承多个类
说明 KeyListener, ActionListener, MouseListener, MouseMotionListener都是接口
“接口可以继承多个接口”,
interface IGameHandler是接口,不是类。
接口和类的区别:
一、接口只是一个协议,继承接口了就必须实现接口内的所有方法。接口比抽象类更抽象。
二、类包含方法,是对一个过程具体实现。
三、接口可以继承多个接口,类可以实现多个接口,类不可以继承多个类。
java中的接口为什么可以多继承,而其他类则不能实现多继承
类定义属性和方法描述某一类事物的抽象
而接口定义的是行为并不限于任何具体意向。
按照逻辑上来说单继承更明确一个子类就应该是其父类代表的事物中的某个更具体的类别不应该即是这种东西又是那种东西。
而从实用角度上来说单继承易读易维护语义清晰逻辑清楚。
而接口则不同接口只定义一些公共行为比如有两个接口一个定义了跑这个动作另一个定义了走这个动作人这个类就可以同时实现这两个接口所定义的行为。
类对接口的implements称作实现不能叫做继承。
当然接口可以多继承接口因为接口只定义行为并不包含类别的含义不指代具体的某类事物而且从语义上来说接口对接口的继承称之为扩展更为合适。
java 为什么不能多继承的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于为什么Java中不允许多重继承、java 为什么不能多继承的信息别忘了在本站进行查找哦。