java培训吧 关注:116,359贴子:396,806

Java 为什么不支持多继承?

只看楼主收藏回复

java为什么不支持多继承?
有了接口为什么还要abstract class?


1楼2015-10-09 13:52回复
    先从Java 8之前说起。要区分“声明多继承”与“实现多继承”。
    Java是不允许“实现多继承”,简称不允许“多继承”。但是Java支持“声明多继承”——Java的接口的多继承——一个类可以实现多个接口(“继承”了多个接口上的方法声明),而一个接口可以继承多个接口(同样是“继承”了多个接口上的方法声明)。


    2楼2015-10-09 14:27
    回复
      广告
      立即查看
      接口只允许有方法声明而不允许有实现,因而不会出现像C++那样的实现多继承的决议问题;抽象类可以有方法实现,但要遵循Java类的单继承限制,也避免了实现多继承的问题。这是早期Java为了与C++区分开的一个决定。


      3楼2015-10-09 14:33
      回复
        跟C++比,Java不支持的东西多了。原因其实很简单,语言设计者对程序员这种生物的特性有不同的理解。


        4楼2015-10-09 14:42
        回复
          扫描式GC本来就不实时释放内存:你怎么让这样一种机制去“实时”释放?每退出一个作用域就全局扫一遍?不怕慢死吗?


          5楼2015-10-09 15:27
          回复
            如果你觉得自己应该追求什么,不管遇到什么困难千万不要放弃,一定要坚持下去


            6楼2015-10-09 16:26
            回复
              理解HTTP协议很重要,我高亮了协议,既然它是个协议,那建立连接,发送数据,和接收数据,都和它没关系(这里不完全正确,但是帮助理解。


              7楼2015-10-09 16:36
              回复
                当初自学,鄙人抓狂了很久才调整回心态


                8楼2015-10-09 16:53
                回复
                  广告
                  立即查看
                  好贴不能沉,小伙伴块来啊�,一定要坚持下去


                  来自iPhone客户端9楼2015-10-09 23:13
                  回复
                    有没有具体的代码事例可以看看呀那样子理解起来会好点,,,


                    来自iPhone客户端10楼2015-10-09 23:17
                    回复
                      支持一下,询问楼主,c语言2级水平。对于java一点不了解,从哪开始学习呢


                      来自iPhone客户端11楼2015-10-09 23:19
                      回复
                        js真的好难弄。。大神能教一下敲门吗还是我看得少。。。


                        来自iPhone客户端12楼2015-10-09 23:21
                        回复
                          方法就是多敲代码,多练习就熟练了别问为什么 (^_^)


                          来自iPhone客户端13楼2015-10-09 23:23
                          回复
                            我们老师用了两节课讲如何创建数据库,然后一节课创建表,一节课输入表数据,一上午就过去了。


                            来自iPhone客户端14楼2015-10-09 23:26
                            回复
                              广告
                              立即查看
                              看标题就让人有点小激动,果断顶!!!。。。


                              来自iPhone客户端15楼2015-10-09 23:28
                              回复