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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. class Fu
  2. {
  3. void method1()
  4. {
  5. System.out.println("fu---1");
  6. }
  7. void method2()
  8. {
  9. System.out.println("fu---2");
  10. }
  11. }

  12. class Zi extends Fu
  13. {
  14. void method1()
  15. {
  16. System.out.println("zi---1");
  17. }
  18. void method3()
  19. {
  20. System.out.println("zi---3");
  21. }
  22. }

  23. class Demo14
  24. {
  25. public static void main(String[] args)
  26. {
  27. Fu f = new Zi();
  28. Zi z = (Zi)f;
  29. z.method1();
  30. z.method2();
  31. z.method3();
  32. }
  33. }
复制代码
在内存中是怎样执行的顺序...求解......

demo14.jpg (2.67 KB, 下载次数: 24)

demo14.jpg

评分

参与人数 1技术分 +1 收起 理由
Rancho_Gump + 1 神马都是浮云

查看全部评分

4 个回复

倒序浏览
我的理解是这样子的
  1. public class Demo14 {
  2.         public static void main(String[] args) {
  3.                 //在栈中声明一个Fu类型的f变量,指向一个由Zi new出来的堆地址
  4.                 Fu f = new Zi();
  5.                 //将f强制转型为子类Zi类型,然后赋值给一个在栈中声明的Zi类型的z变量,z和f指向同一个堆地址
  6.                 Zi z = (Zi) f;
  7.                 //调用子类重写方法method1()
  8.                 z.method1();
  9.                 //调用父类的方法method2()
  10.                 z.method2();
  11.                 //调用子类的方法method3()
  12.                 z.method3();
  13.         }
  14. }

  15. class Fu {
  16.         void method1() {
  17.                 System.out.println("fu---1");
  18.         }

  19.         void method2() {
  20.                 System.out.println("fu---2");
  21.         }
  22. }

  23. class Zi extends Fu {
  24.         void method1() {
  25.                 System.out.println("zi---1");
  26.         }

  27.         void method3() {
  28.                 System.out.println("zi---3");
  29.         }
  30. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
Rancho_Gump + 1 赞一个!

查看全部评分

回复 使用道具 举报
如果将子类类型的对象,赋给父类类型的引用,那他会得到提升,就像
int a=10;
double b=a;
你又把父类,强制转换为子类类型,它向下转型,它可以调用子类特有的方法,子类继承了父类,拥有父类的方法,你的代码中子类覆盖了父类的两个方法,父类的第二个方法没有覆盖,所以调用的时候,会显示父类创建的内容。而覆盖掉的方法显示就是覆盖后的方法。

评分

参与人数 1技术分 +1 收起 理由
Rancho_Gump + 1 赞一个!

查看全部评分

回复 使用道具 举报
和老毕那样画个图就o了........求图
回复 使用道具 举报
解释的很清楚了

评分

参与人数 1技术分 +1 收起 理由
Rancho_Gump + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马