栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java基础--- 代码块以及执行顺序

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java基础--- 代码块以及执行顺序

Java基础--- 代码块以及执行顺序
  • 代码块
    • 构造代码块
    • 静态代码块
    • 同步代码块
  • 代码块执行顺序
    • Background
    • Example 1: 只有一个类的情况(无继承)
    • Example 2: 在有继承的情况下
    • Example 3
    • Example 4

代码块
  • 在Java中,使用{}大括号括起来的代码被称为代码块,代码块可以在类的任何地方出现,具体分为: 普通代码块,构造代码块,静态代码块,同步代码块
构造代码块
  • 定义: 在类中用{ }括起来的代码,没有任何的修饰符,参数列表,返回值等
  • 执行顺序:在对象被创造时执行,在构造函数之前执行
  • 构造函数的作用:如果只有一个构造方法,那么构造代码块写在构造方法里也可以,但如果有多个构造方法需要做一部分公共的处理,那么这部分公共的代码可以提取出来放在构造代码块中,这样就可以只写一次,避免代码重复。以及内部匿名类的初始化
静态代码块
  • 定义: 在类中用 static{}括起来的代码,可以在类中任何地方出现
  • 执行顺序:在类被加载时执行(不是在对象被创造时执行),并且在main函数之前执行
  • 静态代码的作用:用于类的初始化以及提升程序性能,只在类被加载时执行一次
    Ex:包装类的缓存用到了静态代码块
同步代码块
  • 定义:使用synchronized(){}包裹起来的代码块,在多线程环境下,对共享数据的读写操作是需要互斥进行的,否则会导致数据的不一致性。同步代码块需要写在方法中
代码块执行顺序 Background
  • 创造对象时先加载成员数据然后加载构造代码块然后是构造函数(也是找到父类,然后从父类开始加载构造代码块和构造函数)
  • 注意Example3和4
Example 1: 只有一个类的情况(无继承)
  • 静态代码块 -> Main函数 -> 构造代码块 -> 构造函数

Example 2: 在有继承的情况下
  • 父类静态代码块 -> 子类静态代码块 -> Main函数 -> 父类构造代码块 -> 父类构造函数 ->子类构造代码块 -> 子类构造函数


Example 3



Example 4




转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/854524.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号