关于JAVA继承

qq_34494881 2016-06-24 06:57:49
求大神告诉我这题的正确答案,并加以详细说明。
...全文
440 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
sky_08_06_02 2016-07-06
  • 打赏
  • 举报
回复
Bear19940105 2016-07-06
  • 打赏
  • 举报
回复
你声明的是一个子类对象,但是属性是父类的,父类没有那个方法,编译肯定出错,你要把父类对象base强转为子类才可以!
拾柒度 2016-07-01
  • 打赏
  • 举报
回复
父类类型变量引用子类类型对象,这就是一种多态的形式。那么,此变量调用方法时,该方法一定是对应变量类型所拥有的方法。 举个例子:有一堵墙,一边是你,一边是只鸡。一开始,你只知道墙那边是个动物【编译时类型】,是动物,肯定会叫。所有你让它叫,没问题。【你绝对不会让动物,去执行不存在的方法,对应的就是编译时类型检查】 结果呢?你命令它,去捉老鼠。最后呢?鸡蒙了【无法确定所有动物都会捉老鼠】。 但是,你让它叫,没有任何问题,因为鸡重写了动物的叫方法,所以最后,你听到是鸡叫。此时,你才知道,对面是鸡。【运行时类型】 为了防止上述情况发生,系统就进行了,编译时类型检查,以确保,此方法时可执行的【程序可正常运行】。 总之啊。。父类变量引用子类实例。。。调用方法时,该方法一定是父类所拥有的方法,运行时,会根据 实例的具体类型再做选择,如果子类重写了该方法,则调用重写方法,否则,还是父类自己的方法。 同一种类型的变量调用相同方法时,表现出不同的形式,【比如叫】,鸡叫,狗叫,这就是多态的表现。
nikyotensai 2016-07-01
  • 打赏
  • 举报
回复
引用 6 楼 hemowolf 的回复:
[quote=引用 5 楼 soton_dolphin 的回复:] 编译错误,father类里面没有 method()
+1[/quote] +2
牧师1997 2016-06-30
  • 打赏
  • 举报
回复
D 父类不能直接调用子类方法。若想需向下强转 将Father转为Son。((Son)base).method();
anlongyan 2016-06-26
  • 打赏
  • 举报
回复
D,父类没法调用子类的方法
橙子赖 2016-06-25
  • 打赏
  • 举报
回复
base打点掉不到method()方法的。。..原因:父类只能调用自身或自身父类的方法,或自身子类重写的方法;此处的method()是father类的子类的特有方法。
soton_dolphin 2016-06-24
  • 打赏
  • 举报
回复
编译错误,father类里面没有 method()
spockliu 2016-06-24
  • 打赏
  • 举报
回复
自己去敲代码吧,不要做伸手党。
baidu_34630879 2016-06-24
  • 打赏
  • 举报
回复
编译错误,父类对象不能直接调用子类对象的方法,需要向下强制转为子类对象。
qq_34494881 2016-06-24
  • 打赏
  • 举报
回复
没有人吗求解啊
qq_34494881 2016-06-24
  • 打赏
  • 举报
回复
在线等 一直对这点不了解
曲奇丶 2016-06-24
  • 打赏
  • 举报
回复
编译出错啊 Father类没有method这个方法 关于多态,你只要记得编译看左边,运行看右边的原则 编译的时候是看声明的类有没有这个方法,有就编译通过,没有就报错 运行的时候是看具体new出来的子类,如果子类有这个方法,就调用子类的方法,如果没有,就调用父类的方法
  • 打赏
  • 举报
回复
找个编译器把代码敲进去,然后运行试试
鸟与树 2016-06-24
  • 打赏
  • 举报
回复
引用 6 楼 hemowolf 的回复:
[quote=引用 5 楼 soton_dolphin 的回复:] 编译错误,father类里面没有 method()
+1[/quote]+1
小灰狼 2016-06-24
  • 打赏
  • 举报
回复
引用 5 楼 soton_dolphin 的回复:
编译错误,father类里面没有 method()
+1

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧