A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© huangjiawei 中级黑马   /  2015-7-17 14:11  /  231 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.多态性的表现:①方法的重载与重写   ②子类对象的多态性
2.使用的前提:①要有继承关系 ②要有方法的重写
3.格式:Person p = new Man();//向上转型
            // 虚拟方法调用:通过父类的引用指向子类的对象实体,当调用方法时,实际执行的是子类重写父类的方法
            p1.eat();
            p1.walk();
           // p1.entertainment();
       
4.>编译时,认为p是Person类型的,故只能执行Person里才有的结构,即Man里特有的结构不能够调用
  >子类对象的多态性,并不使用于属性。
5.关于向下转型:
  ①向下转型,使用强转符:()
   ②为了保证不报ClassCastException,最好在向下转型前,进行判断: instanceof
  1. / 若a是A类的实例,那么a也一定是A类的父类的实例。
  2.                 if (p1 instanceof Woman) {
  3.                         System.out.println("hello!");
  4.                         Woman w1 = (Woman) p1;
  5.                         w1.shopping();
  6.                 }

  7.                 if (p1 instanceof Man) {
  8.                         Man m1 = (Man) p1;
  9.                         m1.entertainment();
  10.                 }
复制代码




1 个回复

正序浏览
来增加知识。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马