Java构造代码块及执行优先顺序

前言

上一篇文章已经说了Java中的构造方法,它是在创建对象的时候JVM自动会执行的一种方法。另外在Java中还有一个名为“构造代码块”的东西,他和构造方法一样都是在创建对象的时候会自动执行的,构造代码块要写在与构造方法同一级。

代码块的类别有如下三种:

  • 构造代码块
  • 局部代码块
  • 静态代码块

构造代码块为其中一种。

代码

要想懂得起,还是要看看代码,如下:

优先级

若在一个类中同时含有成员变量、构造方法、构造代码块的时候,优先顺序如下:
成员变量 | 构造代码块>构造方法

:cool: 但是Why?接着往下看:

  • Java编译器编译一个Java源文件的时,会把成员变量的声明语句提至一个类的最前端。
  • 成员变量的初始化以及代码块的代码都是会被移至构造方法中去执行。
  • 成员变量的初始化与构造代码块的代码是按照当前代码的顺序去执行的,构造方法中的原代码会最后进行执行。
可以看看如下代码就懂了。

最终的运行结果为:3000

后记

前方的路程遥远曲折坎坷,问问自己:Are you ready?
    A+
所属分类:Java

发表评论

请在下方填写评论信息

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen:

表情 粗体 斜体 图片 引用 链接 删除线 下划线 插代码 签到

目前评论:6   其中:访客  6   博主  0

  1. avatar 管家婆 2  来自天朝的朋友 谷歌浏览器 Windows 7 北京市朝阳区 联通

    想学js

    • avatar 憧憬Licoy 博主  来自天朝的朋友 谷歌浏览器 Windows 10 四川省 电信

      @管家婆 学呗,网上的教程很多的,也可以看手册进行学习 :grin:

  2. avatar 小C博客 4  来自天朝的朋友 QQ浏览器 Windows 7 浙江省杭州市 电信

    又是代码

  3. avatar 柒号淘金 2  来自天朝的朋友 搜狗浏览器 Windows 10 河北省邯郸市 电信

    又是代码,你……打字都挂效果了??你太牛了