• 多态


    多态前提需要 方法的重写

    一个对象的类型只有一种, 但是引用对象类型却可以有很多种可能. // Person p = new Student();  // p = new Teacher(); ...等等

    星星你个大星星: 多态指的是方法的多态,属性没有多态.

    多态是基于父子关系来实现的

     多态需要 父类引用指向子类对象  // Father father = new Son();

    final,static,private修饰的方法 不能被重写, 所以也就没有多态性可言

    多态 基于 继承 关系,且要有 子类重写父类的方法

    多态 调用的的具体的方法  要看 赋值号 右边new 出来的对象类型

    多态  调用方法  方法的传参  灵活,方便..

    //高(编译时期)   低(运行时期)

    Person p = new Student();

    我们用p.某某方法  只能调用Person有的方法 因为这是在编译时期.

    我们 p.某某方法后,如果运行时期的类型(也就是new Student()这个类型) 如果重写了Person 的方法 ,就会调用运行时期的方法 这也就是多态

    Person p = new Student();//这行代码只能调用父类有的方法, 而不能调用到子类自己独有的方法 ,所以需要类型转型

     Student student = (Student)p; //现在就可以调用Student特有的方法了  这里是  高 转 低  而且要有 父子关系 并且 要父类引用指向子类的对象.

    //这样低转高后,会导致子类特有的方法丢失,从而无法调用.

    低 转 高 就直接 把  new Student()这个对象; 赋值给 Person p;即可.  //Person p = new Student();

  • 相关阅读:
    JVM类加载器
    Java类加载过程
    进程间8种通信方式详解
    SpringCloud教程(Finchley版本)-00:什么是SpringCloud
    pyinstaller打包web项目
    Type javax.xml.bind.JAXBContext not present
    Cannot execute request on any known server
    websocket原理
    falsk模板jinja2与Vue冲突解决方案
    关于springboot Error resolving template之类问题
  • 原文地址:https://www.cnblogs.com/shenyueshuo/p/12960602.html
Copyright © 2020-2023  润新知