Sunburstiii 2021-10-13 18:15 采纳率: 50%
浏览 65
已结题

Java代码,这个结构好奇怪,谁能教教我

因为软件测试有代码走查项目,接触到了这种题目,这些java代码结构都好奇怪,不是我们学习的那种
直接一个{}包裹的代码,算是什么方法,还有final是不是只能用一次,还有staic修饰的代码,在调用的时候位置在哪,还有就是这个结果是怎么输出出来的,就是按照什么调用顺序输出出来的

img

img

img

img

  • 写回答

3条回答 默认 最新

  • Mattie chen 2021-10-13 19:05
    关注

    直接一个{}包裹的代码,叫做构造代码块,在该类对象被创建时执行
    final是最终的意思,使用final修饰的类无法被继承,
    修饰的方法不能重写,赋值给变量后这个变量就不能改变了,变为了常量,不懂你这个只能用一次是什么意思。。?
    staic{}这样的叫静态代码块, jvm执行类加载 的初始化阶段调用
    继承中代码块执行顺序:父类静态块—>子类静态块—>父类代码块—>父类构造器—>子类代码块—>子类构造器
    首先输出r1,r4,静态块优先输出,然后是执行mian方法,输出pre,再new Hawk()创建对象,Hawk继承Raptor,Raptor继承Bird,
    按照上述执行顺序,先执行Bird中代码块,输出b1,b2,,然后执行Raptor中代码块输出r3,r2,最后输出hawk

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 10月21日
  • 已采纳回答 10月13日
  • 创建了问题 10月13日

悬赏问题

  • ¥15 抖音咸鱼付款链接转码支付宝
  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 求螺旋焊缝的图像处理
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了