多态

多态:同一个对象,在不同时刻表现出来的不同形态

Java中多态的代码体现在一个子类对象(实现类对象)既可以给这个子类(实现类对象)引用变量赋值,又可以给这个子类(实现类对象)的父类(接口)变量赋值。

如Student类可以为Person类的子类。那么一个Student对象既可以赋值给一个Student类型的引用,也可以赋值给一个Person类型的引用。

最终多态体现为父类引用变量可以指向子类对象。

多态的前提是必须有子父类关系或者类实现接口关系,否则无法完成多态。

在使用多态后的父类引用变量调用方法时,会调用子类重写后的方法。

 

多态的前提和实现

1 有继承或者实现关系

2有方法重写

3有父类引用指向子类对象

Animal a=new Cat();

多态中成员访问特点:

1 多态形式访问成员变量时 编译与运行的都是左边 即父类

1多态形式访问成员方法时 编译也看父类 运行时看右边 即子类

而为什么成员变量和成员方法访问不一样呢?

因为成员方法有重写,而成员变量没有重写

posted @ 2021-05-06 16:53  王子剑  阅读(37)  评论(0)    收藏  举报