
JAVA中为什么会有extends和implents两个关键字
不好意思,打错了,问题应该是JAVA中为什么会有extends和implements两个关键字。我面试的时候回答的跟以上答案差不多,但面试官不满意,他提示要从设计思路这方...
不好意思,打错了,问题应该是JAVA中为什么会有extends和implements两个关键字。
我面试的时候回答的跟以上答案差不多,但面试官不满意,他提示要从设计思路这方面来回答!!! 展开
我面试的时候回答的跟以上答案差不多,但面试官不满意,他提示要从设计思路这方面来回答!!! 展开
展开全部
一个是继承,一个是实现。
继承的含义是is-a
实现的含义是like-a
继承的含义是is-a
实现的含义是like-a
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
从概念上来说,extends表示的是类与类或接口与接口的继承,implements表示的是类对接口的实现。也就是说,一个是扩展,另一个是实现。
从设计思路来回答,就要讲明白为什么会有类和接口这两个不同的概念。
事实上,仅仅通过类的单继承就可以解决绝大部分问题,而C++的多重继承可以解决任何面向对象问题。之所以要设计接口这个概念,主要还是为了使面向对象设计中的多态得到优美的解决。
接口是一个特殊的抽象类。Java的设计者认为,多重继承增加了系统设计和实现时的复杂性,并且容易出错和产生歧义(例如A同时继承了B和C,而A定义了一个方法,在B和C中都存在这个方法的同名方法,此时A重写了B还是C的方法?),因此Java只允许单重继承,这完全是Java的设计者强加的限制。
为了解决单重继承无法解决的问题(或者说不容易解决的问题),Java设计者设计了接口的概念,实际上,Java设计者鼓励使用接口而不是继承,因为接口的抽象性更加纯粹。
总结:单继承+接口和多继承都是为了解决面向对象问题,只是方式不同。在Java设计者看来,单继承+接口的好处 > 多继承
从设计思路来回答,就要讲明白为什么会有类和接口这两个不同的概念。
事实上,仅仅通过类的单继承就可以解决绝大部分问题,而C++的多重继承可以解决任何面向对象问题。之所以要设计接口这个概念,主要还是为了使面向对象设计中的多态得到优美的解决。
接口是一个特殊的抽象类。Java的设计者认为,多重继承增加了系统设计和实现时的复杂性,并且容易出错和产生歧义(例如A同时继承了B和C,而A定义了一个方法,在B和C中都存在这个方法的同名方法,此时A重写了B还是C的方法?),因此Java只允许单重继承,这完全是Java的设计者强加的限制。
为了解决单重继承无法解决的问题(或者说不容易解决的问题),Java设计者设计了接口的概念,实际上,Java设计者鼓励使用接口而不是继承,因为接口的抽象性更加纯粹。
总结:单继承+接口和多继承都是为了解决面向对象问题,只是方式不同。在Java设计者看来,单继承+接口的好处 > 多继承
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询