Java中继承和实现的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中继承和实现的区别相关的知识,希望对你有一定的参考价值。

java中的继承用的关键字是extends,而实现用的关键字是implements;java中类的继承只能是单继承,而实现可以是多实现。java中的继承可以继承父类的所有方法。追问

谢谢啦

参考技术A 打个比方,父亲有个店面
继承就是,父亲已经拿那个店面去开饭馆了,子承父业,儿子也继承那饭馆,继续经营饭店的生意;
实现就是,父亲还没拿那个店面干啥,就空铺子,子继承了这个店面,儿子自己想买衣服,那么就拿这个店面去卖衣服。
所以,总结来说,继承就是父类有的了,实现就是父类还没完善的,就一个架子在那里,即有方法名,无方法体
参考技术B 简单一点:
“继承”就好比父子关系,一个孩子只能有一个亲爹,但是亲爹也不是完美的人,好的和坏的品行都有,所以长期影响都会被孩子学去。
“实现”就好比师徒关系,一个徒弟可以拜多个师傅学本事,而且师傅各有千秋,那么徒弟只需要根据自己感兴趣的,去拜师就可以了。
这么通俗能懂不?

class中继承和多态简介

1.了解父类和子类的关系:

1 class Animal(object):
2     def run(self):
3         print("animal is running")
4     def run_twice(self):
5         self.run()
6         self.run()
1 class fish(Animal):
2     def run(self):
3         print("fish is not run, is fishing...")
1 class Tortoise(Animal):
2     def run(self):
3         print("Tortoise is running slowly...")

在上述三行代码中,Animal是父类,而fish和Tortoise则是Animal的子类

子类具有父类的全部功能,这种特性称为:继承

此外,从上面的代码可以看出,三个类都有run()方法。当子类和父类拥有相同的方法时,子类的方法会覆盖父类的方法。这中特性称为:多态

从左侧的截图可以看出:子类fish继承了父类的run_twice()方法,同时fish自己的run()方法

覆盖了父类的方法,所以打印出来的是:"fish is not run..."而不是"animal is running..",这种称为多态。

 

以上是关于Java中继承和实现的区别的主要内容,如果未能解决你的问题,请参考以下文章

java中为啥要使用继承

java中继承与实现接口的区别与联系是啥啊?知道的说一下,我这里谢谢了。

Java继承

class中继承和多态简介

java中继承extends和emplments实现有啥区别?具体在用法上?

Java中继承thread类与实现Runnable接口的区别