天天看点

Java面向对象_多态

多态的前提是继承。

一个对象具有多种形态。

把子类对象赋值给父类变量,父类指针指向子类。

通过父类调用方法,执行的是子类方法。

创建一个动物类为父类,再分别创建一个狗类和猫类来继承,实例化狗类和猫类,变量赋值给动物类。

父类

Java面向对象_多态

子类

Java面向对象_多态

 测试类

 运行结果没有区别

在上面的基础上再创建一个饲养员。

多态情况下的方法调用

只有父类当中有方法       :执行父类的方法。

只有子类有,父类没有方法 :报错(继承状态和多态状态下的区别)。

子类和父类都有调用的方法 :执行子类的方法。

父类和子类都有static方法    :执行父类的方法

普通人/超人

Java面向对象_多态

instanceof 是 Java 的保留关键字。

它的作用是测试它左边的对象是否是它右边的类的实例,返回 boolean 的数据类型。

 运行结果,内存地址相同

Java面向对象_多态