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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 位俊鹏 中级黑马   /  2014-2-25 23:55  /  1115 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

有以下代码;
classClassA{}
classClassB extends ClassA{}
classClassC extends ClassA{}
以及
ClassAp0 = new ClassA();
ClassBp1 = new ClassB();
ClassCp2 = new ClassC();
ClassAp3 = new ClassB();
ClassAp4 = new ClassC();
A:p0 = p1;
B:p1 = p2;
C:p1 =(ClassB)p3;
Dp2 =(ClassC)p4;
请问那个正确?并简要分析.


评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

6 个回复

倒序浏览
这题目是你自己写的吗?这是要比较两个对象?还是?选项里面怎么全都是赋值表达式,而不是“==”。如果选项里面的“=”改为“==”的话,一个都不对。
回复 使用道具 举报
你这个应该是多态的问题  A 是对的。 B是错的,不同的类,没有继承关系。  C  对。 D是对的。  ----------这是我的理解  
回复 使用道具 举报
1.多态的体现
     父类的引用指向了自己的子类对象。
     父类的引用也可以接收自己的子类对象
2.多态的前提
     必须是类与类之间有关系,要么继承,要么实现。
     存在覆盖。
3.多态的好处
     多态的出现大大提高了程序的扩展性。


这个是我的笔记,你看看对你有没有用。  

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
luoanjade 发表于 2014-2-26 00:23
这题目是你自己写的吗?这是要比较两个对象?还是?选项里面怎么全都是赋值表达式,而不是“==”。如果选项 ...

首先谢谢你,   在别的地方看到的,一个老师出的题,确定是赋值问题, 好像主要考察多态,继承的.
回复 使用道具 举报
榨菜 发表于 2014-2-26 00:39
1.多态的体现
     父类的引用指向了自己的子类对象。
     父类的引用也可以接收自己的子类对象

嗯,好!谢谢啦!!
回复 使用道具 举报
位俊鹏 发表于 2014-2-26 10:03
首先谢谢你,   在别的地方看到的,一个老师出的题,确定是赋值问题, 好像主要考察多态,继承的. ...

ACD是对的,B是错的!
A,从多态的角度来看,父类的引用指向子类的对象,这是对的。
C,p1是ClassB的引用,p3是是它的父类ClassA的引用,也是指向一个ClassB对象,使用强制转换,p1=(ClassB)p3,是对的,就好像,int=(int)double,一样,不知道这个比方对不对,反正就是这个意思。
D,与C类似;
B,这个举个实例来说一下吧!比如,动物是父类,人和猪是两个子类,两个类都有自己的特性,人当然就不能创造出猪,猪也不能创造出人,对吧?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马