Java的继承

来源:互联网 发布:深圳cnc数控编程培训 编辑:程序博客网 时间:2024/06/05 17:32

Java的继承&多态

继承:

       继承是面向对象语言的一个重要特征。继承就是子类继承父类的特征和行为,使得子类实例具有父类的属性。

现实中的例子

动物可以看作是食肉动物和食草动物的父类

 

动物具有的属性有吃 睡

食肉动物具有的属性有吃 睡 捕食

食草动物具有的属性有吃 睡 躲避天敌

食肉动物食草动物都具有动物的属性 吃和睡

而它们有各自有自己的属性捕食 和 躲避天敌

而且它们的共有属性吃又有些不同

 

由此可知,子类具有父类的非private属性,它还具有自身独有的属性,并且它可以对父类的属性进行重写。

我们将以上例子写成代码

public class Animal{public void eat() {System.out.println("动物可以吃");}public void sleep(){System.out.println("动物可以睡");}}public class Predator extends Animal{public void eat() {System.out.println("食肉动物可以吃肉");}public void catchfood() {System.out.println("食肉动物可以捕食");}}public class Herbivore extends Animal{public void eat() {System.out.println("食草动物可以吃草");}public void Hide() {System.out.println("食草动物可以躲避天敌");}}


当子类需要继承父类的时候,需要使用关键字extends 父类

在子类中调用父类的方法时,使用super.方法名

子类只允许继承一个父类,这被称为单继承

子类虽然只允许单继承,但是允许多重继承,即A继承B,B继承C

 

子类除了可以继承父类之外,还可以继承接口,继承接口时,需使用关键字 implements,子类可以继承多个接口,被称为子类的多继承。