Flash中的“隐式强制指令的目标是非相关类型”是什么回事?
答案:3 悬赏:30 手机版
解决时间 2021-11-18 12:34
- 提问者网友:活着好累
- 2021-11-18 00:30
Flash中的“隐式强制指令的目标是非相关类型”是什么回事?
最佳答案
- 五星知识达人网友:荒野風
- 2021-11-18 01:43
第一个改为:
var obj:Ground = e.target as Ground;
第二个原因是Flag是Mark的子类,Mark所有的属性和方法都被Flag继承到,但是Flag的某些属性和方法Mark是没有的,所以不可以这样new;
改为:
var obj:Flag = new Flag(arrBomb[i].num);
应该就可以了
var obj:Ground = e.target as Ground;
第二个原因是Flag是Mark的子类,Mark所有的属性和方法都被Flag继承到,但是Flag的某些属性和方法Mark是没有的,所以不可以这样new;
改为:
var obj:Flag = new Flag(arrBomb[i].num);
应该就可以了
全部回答
- 1楼网友:平生事
- 2021-11-18 02:49
第一个问题我也遇到过,LZ既然已解决,我也就不罗嗦了。
至于第二个问题,Java中有里氏替换原则,这里也是同样的道理吧,父类出现的地方吗,子类也可以出现,LZ看见没,Mark为父类,怎么能由子类引用指向父类对象呢。如果是var obj:Flag = new Flag (arrBomb[i].num)应该没错,
var obj:Mark= new Flag (arrBomb[i].num)也不会报错,当然第二种就不符合要求了
P S:第二个问题,没有验证,LZ不妨试试看。
至于第二个问题,Java中有里氏替换原则,这里也是同样的道理吧,父类出现的地方吗,子类也可以出现,LZ看见没,Mark为父类,怎么能由子类引用指向父类对象呢。如果是var obj:Flag = new Flag (arrBomb[i].num)应该没错,
var obj:Mark= new Flag (arrBomb[i].num)也不会报错,当然第二种就不符合要求了
P S:第二个问题,没有验证,LZ不妨试试看。
- 2楼网友:平生事
- 2021-11-18 02:19
简单的说就是赋值的类型不匹配
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯