1.普通代码块:

类中方法的方法体
在方法或语句中出现的{}就称为普通代码块。普通代码块和一般语句的执行顺序由他们在代码中出现的次序决定,先出现先执行。

2.构造代码块:

直接在类中定义且没有加static关键字的代码块称为{}构造代码块。构造代码块在创建对象时被调用,每次创建对象都会被调用,并且构造代码块的执行次序优先于类构造函数。如果存在多个构造代码块,执行顺序由他们在代码中出现的次序决定,先出现先执行。

3.静态代码块:

用static{}包裹起来的代码片段,只会执行一次。静态代码块优先于构造块执行。
在java中使用static关键字声明的代码块。静态块用于初始化类,为类的属性初始化。每个静态代码块只会执行一次。由于JVM在加载类时会执行静态代码块,所以静态代码块先于主方法执行。

如果类中包含多个静态代码块,那么将按照"先定义的代码先执行,后定义的代码后执行"。

注意:

1.静态代码块不能存在于任何方法体内。

2.静态代码块不能直接访问实例变量和实例方法,需要通过类的实例对象来访问。

4.同步代码块:(还没学嗷 咱也不会)

使用synchronized(){}包裹起来的代码块,在多线程环境下,对共享数据的读写操作是需要互斥进行的,否则会导致数据的不一致性。同步代码块需要写在方法中。

二.静态代码块和构造代码块的异同点

相同点:都是JVM加载类后且在构造函数执行之前执行,在类中可定义多个,一般在代码块中对一些static变量进行赋值。

不同点:静态代码块在非静态代码块之前执行。静态代码块只在第一次new时执行一次,之后不在执行。而非静态代码块每new一次就执行一次。

给童鞋萌康康关于代码块(static代码块)的小知识相关推荐

  1. Java代码块(代码块与静态代码块使用细节及调用顺序)

    目录 1.代码块的基本介绍 2.静态代码块 类什么时候加载[重点] 创建对象实例时(new) 创建子类对象实例时,父类也会被加载 使用类的静态成员时(静态属性,静态方法) 3.代码块的使用小细节 普通 ...

  2. java中static代码块与非静态代码块

    static代码块与非静态代码块的区别: static代是码块是在类加载时就加载的,而非静态代码块只有在对象实例化时才执行! 转载于:https://www.cnblogs.com/dazhuzhu/ ...

  3. 牛客网Java刷题知识点之关键字static、static成员变量、static成员方法、static代码块和static内部类...

    不多说,直接上干货! 牛客网Java刷题知识点之关键字static static代表着什么 在Java中并不存在全局变量的概念,但是我们可以通过static来实现一个"伪全局"的概 ...

  4. 使用static代码块实现线程安全的单例设计模式

    实现线程安全的单例设计模式的三种方式: DCL双检查锁机制实现线程安全 使用静态内置类实现线程安全 使用static代码块实现线程安全 -------------------------------- ...

  5. Java中static代码块,main函数,构造函数运行顺序

    1.Java中static代码块,main函数,构造函数运行顺序如下: 答:static代码块是主动执行的,因此static代码块先执行,然后是执行构造函数,最后是Main函数. 如下例子: publ ...

  6. java类中的static块_java类中static代码块的执行次数

    java类中 static静态代码块的执行次数 1.在类加载的init阶段,类的类构造器中会收集所有的static块和字段并执行,static块只执行一次,由JVM保证其只执行一次. 2.直接看示例 ...

  7. 块代码编程---开始使用块代码

    http://blog.csdn.net/nicktang/article/details/6906352 本章的几节使用例子代码来开始块代码的学习. 定义和使用块代码 插入符^有两个作用,一个是声明 ...

  8. 【代码块】代码块使用注意事项和细节讨论

    1. static代码块也叫静态代码块,作用就是对类进行初始化,而且它随着类的加载而执行,并且只会执行一次.如果是普通代码块,每创建一个对象,就执行. 2. 类什么时候被加载?[重要背!] (1)创建 ...

  9. 静态代码块 构造代码块 构造方法的执行顺序

    今天我总结了一下java中静态代码块 构造代码块 构造方法的执行顺序及其注意问题 执行顺序: 静态代码块>构造代码块>构造方法体 首先要知道静态代码块是随着类的加载而加载,而构造代码块和构 ...

最新文章

  1. 在hue当中设置hive当中数据库的控制权限。
  2. c语言标准io中可读可写,C语言标准IO: [先读再feof] VS [先feof再读]
  3. 多租户通用权限设计(基于 casbin)
  4. WPF Slider设置整数
  5. SmartFox中的類型轉換
  6. 1102 Invert a Binary Tree(甲级)
  7. HDU 4547 CD操作
  8. 正则表达式学习(一)
  9. [转载] 非诚勿扰2
  10. 【CPRI】(2)组网方式及接口指标
  11. 全国各省电信及网通DNS大全
  12. 金蝶云星空API调用实践
  13. java-unrar-0.3.jar_java-unrar-0.3.jar解压
  14. 无需下载,优质网站分享
  15. java web胖客户端,【转载】:瘦客户端、胖客户端、富客户端
  16. 【转载】单片机入门经验
  17. 华为2020实习生招聘机试题
  18. JAVA MemCache 史无前例的详细讲解【转】
  19. 为什么评论会被折叠?
  20. 商汤科技、星宸科技、大华、帷幄匠心、联影医疗、深信服、亿联网络等2021校招面试总结

热门文章

  1. 全国物流企业有哪些 物流企业详细信息怎么查询
  2. 精神病学专科哪家强?且看最新医院排行榜
  3. 拼多多Temu如何批量养国外买家账号进行拉新?
  4. 高通芯片联机读取修改串码 meid ESN wifi 蓝牙 sn等参数的操作解析{二}
  5. Learning without Forgetting 详解(LwF)
  6. 蓝牙5.0与蓝牙4.2的有哪些区别,你了解吗?
  7. 通信设备选cat1还是选nbiot
  8. 读书笔记(8)网络故障排除工具
  9. 到底要学前端还是后端?
  10. 兴寿镇“春踏青,兴寿行”特色旅游线路点靓辛庄