![2bc99b1bc2de3faecdae0fc3ce046abc.png](https://i-blog.csdnimg.cn/blog_migrate/9d89a78c5713dbaee1dc36262ea10221.jpeg)
Java三大特性之继承
完整视频教程:
2019年 Java零基础权威入学宝典ke.qq.com![9ce1c9af2e519cf84512fb53e69cb20f.png](https://i-blog.csdnimg.cn/blog_migrate/b09a368a929691e7175b6634db46acf7.jpeg)
1. 继承是很多变成语言的特性,也是Java的特性。
a) 所谓继承,就是创建一个具有公共特征的类Animal,再让Fish、Cat、Dog类来继承Animal。
b) Animal称为父类,Fish、Cat、Dog称为子类,子类会继承父类非私有的属性和方法。
c) 继承第一提高了代码的复用率,只要继承了父类,就会获得父类所有的非私有属性和方法。第二让类与类之间的关系变得有章可循。
2. 继承的实现是用extends关键字,我们用程序来演示。
a) 先编写一个Animal类作为父类,也称为基类、超类。
![afbb44c3922f282e3760f5de0f01a2c4.png](https://i-blog.csdnimg.cn/blog_migrate/44ebf2019f7ceeb106800b86e9cb9315.png)
b)编写一个子类来继承父类,extends只能继承一个类,一个子类只能有一个父类,Java不支持多继承。但一个父类可以有多个子类。
![8abb432c3d406956862811f1b6d0364b.png](https://i-blog.csdnimg.cn/blog_migrate/2341255241104f20351537f55a27bf72.png)
c) 子类可以直接使用父类所有的非private属性和方法,注意,被private修饰的属性和方法子类是无法使用的。
![0954f7ccdcce459199603ad116168b54.png](https://i-blog.csdnimg.cn/blog_migrate/8eac964723ca99fdd408b5fcfc399234.png)
d) 子类可以根据自己的需求来重写父类中的方法,重写后将使用子类中被重写的eat()方法
![78e00725e1cdf876a3841b9840141d16.png](https://i-blog.csdnimg.cn/blog_migrate/01a14ac36eb8d8e7406316378c12a216.png)
![1b571987bb164e04c21c571f35ab4e4b.png](https://i-blog.csdnimg.cn/blog_migrate/28d8e80bcb82f29d42b1589db61c3397.png)
e) 子类可以添加自己的方法,不受父类的约束。
![eb641002cb3c935613560fa7088f6828.png](https://i-blog.csdnimg.cn/blog_migrate/2d2d3cba418dbe3ed304d090f322bf66.png)