黑马程序员技术交流社区

标题: Animal a=new Cat(); [打印本页]

作者: 飘过的云    时间: 2015-5-20 21:40
标题: Animal a=new Cat();
多态:同一对象在不同时刻表现出不同的状态。
关键:父类引用指向了子类对象
     Animal a=new Cat();
    执行步骤:
           等号左边:
           1、Animal类 ,将Animal类加载进内存空间。
           2、Animal a,表示创建了一个父类引用a.
           等号右边:
           1、new cat(),将cat类加载到内存空间。
           2、想要创建 一个猫类,但发现 猫类是 动物类的子类,子类要想创建对象,必须要先初始化父类。
           3、进行父类的初始化。
           4、创建子类对象,即创建猫类,进行子类的初始化,并把地址值赋值给a,因此a 是指向猫类的.
           5、对父类方法进行了重写,父类成员变量不能进行重写。(因此父类.方法调用的是子类的方法。父类.成员变量 是父类的变量)


多态的特点:
成员变量:编译看左边,运行看左边。(无论静态还是非静态)
非静态成员方法:编译看左边,运行看右边。
注意结论 ,分析有点乱
作者: 精灵来了    时间: 2015-5-22 23:38
多态:可以理解为事物存在的多种体现形态。

作者: hzhzhen    时间: 2015-5-22 23:39
这个是多态  慢慢看就会懂啦
作者: 18463730277    时间: 2015-5-22 23:56
多态成员变量:编译看左边,运行看左边。(无论静态还是非静态) 非静态成员方法:编译看左边,运行看右边
作者: 青春印记深圳    时间: 2015-5-23 00:39
你发帖主要想表达什么?




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