多态于继承的一个题目
2009-10-14 14:55
309 查看
题目出的有点纰漏,纠正一下。
新建Child实例c,然后将c赋予指向Child祖先Parent的变量p,然后分别调用p.print() c.print(),打印结果却各不相同。
Parent类print()中的代码为:System.out.println("parent");
Child类print()中的代码为:System.out.println("child");
执行结果:
parent
child
这和多态的原则冲突,谁知道答案呢?
更不敢揭晓了,还是和你单挑比较划算, -..=
代码如下,仔细看看变知究竟:
主要原因两个类不在同一个包里面嘛
java代码: |
Child c=new Child( ) ; Parent p=c; p.print ( ) ; c.print ( ) ; |
Parent类print()中的代码为:System.out.println("parent");
Child类print()中的代码为:System.out.println("child");
执行结果:
parent
child
这和多态的原则冲突,谁知道答案呢?
更不敢揭晓了,还是和你单挑比较划算, -..=
代码如下,仔细看看变知究竟:
java代码: |
package parent; import child.Child ; public class Parent { void print( ) { System .out .println ( "Parent") ; } public static void main( String [ ] args) { Child c=new Child( ) ; Parent p=c; p.print ( ) ; c.print ( ) ; } } |
java代码: |
package child; import parent.Parent ; public class Child extends Parent { public void print( ) { System .out .println ( "Child") ; } } |
时间: 2004-6-11 11:12:47 标题: | |
当方法不写作用域的时候,默认为friendly,而friendly的作用域只局限域同一个包内,对于子孙类,就超出她的作用域了,所以,这个不是Override了。 |
相关文章推荐
- 一个关于封装、继承、多态的问题
- java继承,多态方面的一个问题,定义一个父类对象,用子类new
- 类的继承关系,多态的体现,我的觉得题目还是有点欠缺
- 面向对象的三大特点:封装,继承,多态,外加一个重载概念。
- 继承与多态经典题目注释解析
- 一个关于java继承的题目
- java 继承与多态练习题目
- 黑马程序员一一封装,继承,多态的一个基本概述
- 一道关于继承和多态的题目
- 用一个简单示例来说明C#中的继承、封装和多态
- 多态继承的一个小例子,mark一下。
- php部分--面向对象三大特性-封装(另加连续调用的一个例子)、继承(重写、重载的例子)、多态;
- C++ 利用类模板---类继承形成多态----的一个异常处理结构
- 关于继承和多态的一个简单例子
- 笔试题目:定义一个类不能被继承,且只能被实例化3次 .
- 用一个简单示例来说明C#中的继承、封装和多态
- 看一个多态的题目
- 笔试题目:定义一个类不能被继承,且只能被实例化3次
- 一个经典实例理解继承与多态原理与优点(附源码)---面向对象继承和多态性理解得不够深刻的同学请进
- 设计引导---一个鸭子游戏引发的设计(多态,继承,抽象,接口,策略者模式)