zoukankan      html  css  js  c++  java
  • 面向对象的特征三:多态性

    1.多态性的表现:①方法的重载与重写 ②子类对象的多态性
    2.使用的前提:①要有继承关系 ②要有方法的重写
    3.格式:Person p = new Man();//向上转型
    // 虚拟方法调用:通过父类的引用指向子类的对象实体,当调用方法时,实际执行的是子类重写父类的方法
    p1.eat();
    p1.walk();
    // p1.entertainment();

    4.>编译时,认为p是Person类型的,故只能执行Person里才有的结构,即Man里特有的结构不能够调用
    >子类对象的多态性,并不使用于属性。

    5.关于向下转型:
    ①向下转型,使用强转符:()
    ②为了保证不报ClassCastException,最好在向下转型前,进行判断: instanceof
    // 若a是A类的实例,那么a也一定是A类的父类的实例。
    if (p1 instanceof Woman) {
    System.out.println("hello!");
    Woman w1 = (Woman) p1;
    w1.shopping();
    }

    if (p1 instanceof Man) {
    Man m1 = (Man) p1;
    m1.entertainment();
    }

  • 相关阅读:
    July 08th. 2018, Week 28th. Sunday
    July 07th. 2018, Week 27th. Saturday
    兄弟组件bus传值
    vue 父子组件传值
    路由传值的三种方式
    jQuery 操作表格
    原生js实现开关功能
    跨域解决方法
    正则判断密码难度
    cookie封装函数
  • 原文地址:https://www.cnblogs.com/wzlbigdata/p/8383631.html
Copyright © 2011-2022 走看看