java09

今天复习一下java中的多态

  1. 多态的体现
  • 父类引用指向了自己子类对象
    animal a=new cat();
  • 父类的引用也可以接收自己子类对象
    2.多态的前提
    -必须是类与类之间必须有联系,要么继承,要么实现
    通常还有一个前提,存在覆盖,
    3.多态的好处
    -大大的提高了程序的拓展性
    4.多态的弊端
    -只能使用父类的引用访问父类的成员
    class animal{
    public void eat(){}
    }
    class cat extends animal{
    public void eat(){
    猫爱吃鱼}

}
class demo{
public satatic ----{
faction(new cat());
}
public faction(animal a){
a.eat():
}
}

5.多态的转型
当父类引用指向子类对象时,只能通过父类引用访问父类成员,如何访问子类中特有的方法

  • 转型:当猫继承了动物,动物有吃的功能,猫也有,猫有抓老鼠的功能,动物不一定有,要想访问抓老鼠功能就需要向下转型,或者在父类(动物)中定义抓老鼠方法
    animal a=new cat();向上转型
    cat c=(cat)a;向下转型
    -我们能转换的始终是父类引用指向了自己子类对象时,该引用可以被提升也可以被强制转换
    -多态自始至终都是子类对象在做着变化
    6.多态中成员函数的特点
    -全都参考左边(引用型变量所属的类)

猜你喜欢

转载自blog.csdn.net/qq_39127312/article/details/82839954