当前位置:首页 » 《随便一记》 » 正文

java继承构造方法调用顺序_wuwndj的博客

6 人参与  2022年04月05日 17:06  分类 : 《随便一记》  评论

点击全文阅读


第一种情况:

在这里插入图片描述

运行结果:

People(String name)
Child(String name)

分析:1.首先根据带参数的对象去找相应类的构造方法,在Child类中找到了带参数的构造方法,
2.因为有super(name)的语句存在,所以会去调用父类的带参数的构造方法,输出People(String name); 3、回到子类中执行输出Child(String name)。

第二种情况:

在这里插入图片描述

运行结果:
People()
Child(String name)

分析:
1、创建了一个带参数的对象,此时会去子类找相应的带参数的构造方法,尽管在该方法中没有写super()语句,但是还是会默认有super()方法的存在
2、默认的super()方法调用后还是去父类找到无参数的构造方法输出相应的语句。
3、再返回到子类输出

以下是一个相对来说较为复杂的调用示例:
在这里插入图片描述

分析:
1、首先创建了child对象,去找子类的构造方法,默认视为super()方法存在
2、此时去父类的无参构造方法People()方法
3、加载父类中的私有类型成员变量name
4、再次进入父类的构造方法里面,包含两个方法的调用
5、回到子类中寻找该方法playBasketBall(),并输出语句,但是父类的私有变量不能共享,因此输出name值为null
6、回到子类中寻找该方法playFootBall(),并输出语句,但是父类的私有变量不能共享,因此输出name值为null
7、父类构造方法的内容执行完毕,正式回到子类中。
8、继续加载子类的成员变量,执行方法并输出。

运行结果:
child_playFootball:null
child_playBasketball:null
child_playFootball:jerry
child_playBasketball:jerry


点击全文阅读


本文链接:http://zhangshiyu.com/post/37400.html

方法  构造  输出  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1