Java继承关系跳转笔试面试题 经典系列之一

总结:

  1. 首先执行main类中创建一个对象名为p对象.
  2. p对象的类名为People ,构造方法为Student
  3. 跳转到Student
  4. 因为Student继承类People关键字为extends
    1. 跳转到People类中
    2. 先执行静态Static方法,然后执行非静态方法,遇到new执行new下非静态方法,非静态初始化块从上到下执行
    3. People类中执行代码顺序4,遇到new执行非静态6,执行18,因为是n++先引用才自加,执行初始化块8
    4. 按顺序执行费静态初始化块34,然后执行People无参构造函数22,执行完毕后跳转到4执行接下来的Static静态语句
    5. 初始化n=10 ,跳转到静态初始化块13,至此People静态语句全部执行完毕,跳转到Student
  5. Student类中的静态初始化块12,至此Student和超类(父类)People中静态语句Static全部读取完毕,
  6. 执行Student(),因为Student类中没有,追溯到People类中Student()
  7. 执行People类中的默认构造块,然后执行People()构造函数,执行People类中完毕后
  8. 跳转到Student中执行构造函数块

第二个语句

  1. 执行上5.执行Student()有参类,因为Student类中super,追溯到People类中
  2. 执行构造块,执行People类中Student()有参;跳转Student类中执行构造块,执行有惨

Main

在这里插入图片描述

Student

在这里插入图片描述

People

在这里插入图片描述

运行结果

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值