当前位置: 首页 > news >正文

Java——代码块

1、概念分类

使用 {} 定义的一段代码称为代码块,根据代码块定义的位置以及关键字,可分为以下四种

  • 普通代码块
  • 静态代码块
  • 构造代码块
  • 同步代码块

2、普通代码块

定义在方法中的代码块,这种用法较少见:

3、构造代码块

构造块:定义在类中的代码块(不加修饰符),也叫实例代码块

构造代码块一般用于初始化实例成员变量

 构造(实例)代码块只有在创建对象时才会被执行

 构造代码块和构造方法的执行先后顺序

4、 静态代码块

使用static定义的代码块称为静态代码块,一般用于初始化静态成员变量

 Tips:

  • 静态代码块不管生成多少个对象,其只会执行一次
  • 静态成员变量是类的属性,因此是在JVM加载类时开辟空间并初始化的
  • 如果一个类种包含多个静态代码块,在编译代码时,编译器会按照定义的先后次序依次执行(合并)

静态代码块、构造(实例)代码块、构造方法,三者之间的执行顺序:

public class Test{private String name;private int age;private static String className = "123";static{className = "223";System.out.println("静态代码块被执行~~~");}public Test() {System.out.println("构造方法被执行");}{this.name = "zhangsan";this.age = 18;System.out.println("构造代码块被执行");}public static void main(String[] args){Test test1 = new Test();System.out.println("=========");Test test2 = new Test();}
}

结果:

 tips:第二次实例化对象时,静态代码块并没有执行,因为类只会加载一次,涉及到了双亲委模型

http://www.lryc.cn/news/349410.html

相关文章:

  • Ajax额
  • 5.15项目进度总结
  • POETIZE个人博客系统源码 | 最美博客
  • 回复完成 输入框还显示值的问题
  • C语言----斐波那契数列(附源代码)
  • javax.net.ssl.SSLException: Received fatal alert: protocol_version已经解决
  • uniapp 实现下拉刷新 下滑更新
  • 海豚调度器如何看工作流是在哪个worker节点执行
  • 凸优化理论学习三|凸优化问题(一)
  • 【Unity Shader入门精要 第7章】基础纹理补充内容:MipMap原理
  • JeeSite Vue3:前端开发页面如何动态设置菜单展示模式?
  • 微信小程序-禁止页面下拉回弹
  • 测试环境搭建整套大数据系统(十六:超级大文件处理遇到的问题)
  • C++ 并发编程指南(11)原子操作 | 11.6、计算机内存结构
  • 正则表达式教程
  • SEO之为什么研究关键词(二)
  • Mysql 创建索引
  • vaspkit 画 Charge-Density Difference
  • FreeRTOS缩小bss段的处理
  • STM32数字示波器+详细注释+上位机程序+硬件
  • 【平衡二叉树】AVL树(双旋)
  • 【保姆级介绍自动化的讲解】
  • 【大数据面试题】27 讲下Doris的物化视图
  • kylin 使用心得
  • 在线音乐系统
  • LeetCode算法题:49. 字母异位词分组(Java)
  • 第五课,输入函数、布尔类型、比较运算和if判断
  • 数学建模——线性回归模型
  • 景源畅信:抖音小店比较冷门的品类分享?
  • java项目之企业资产管理系统(springboot+vue+mysql)