黑马程序员技术交流社区

标题: 关于多态总结 [打印本页]

作者: ningbo_1115    时间: 2015-10-18 21:27
标题: 关于多态总结
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();
                }

作者: 海狮    时间: 2015-10-18 22:28
学习了~~~~~~
作者: 土豆丝    时间: 2015-10-18 23:46
学习了~~~
作者: yuanjun52306    时间: 2015-10-19 06:15
又学习了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2