首页 > 其他 > 详细

面向对象的特征三 多态性

时间:2019-10-05 14:18:47      阅读:89      评论:0      收藏:0      [点我收藏+]
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();
        }

面向对象的特征三 多态性

原文:https://www.cnblogs.com/liyao0312/p/11624586.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!