给童鞋萌康康关于代码块(static代码块)的小知识
1.普通代码块:
类中方法的方法体
在方法或语句中出现的{}就称为普通代码块。普通代码块和一般语句的执行顺序由他们在代码中出现的次序决定,先出现先执行。
2.构造代码块:
直接在类中定义且没有加static关键字的代码块称为{}构造代码块。构造代码块在创建对象时被调用,每次创建对象都会被调用,并且构造代码块的执行次序优先于类构造函数。如果存在多个构造代码块,执行顺序由他们在代码中出现的次序决定,先出现先执行。
3.静态代码块:
用static{}包裹起来的代码片段,只会执行一次。静态代码块优先于构造块执行。
在java中使用static关键字声明的代码块。静态块用于初始化类,为类的属性初始化。每个静态代码块只会执行一次。由于JVM在加载类时会执行静态代码块,所以静态代码块先于主方法执行。
如果类中包含多个静态代码块,那么将按照"先定义的代码先执行,后定义的代码后执行"。
注意:
1.静态代码块不能存在于任何方法体内。
2.静态代码块不能直接访问实例变量和实例方法,需要通过类的实例对象来访问。
4.同步代码块:(还没学嗷 咱也不会)
使用synchronized(){}包裹起来的代码块,在多线程环境下,对共享数据的读写操作是需要互斥进行的,否则会导致数据的不一致性。同步代码块需要写在方法中。
二.静态代码块和构造代码块的异同点
相同点:都是JVM加载类后且在构造函数执行之前执行,在类中可定义多个,一般在代码块中对一些static变量进行赋值。
不同点:静态代码块在非静态代码块之前执行。静态代码块只在第一次new时执行一次,之后不在执行。而非静态代码块每new一次就执行一次。
给童鞋萌康康关于代码块(static代码块)的小知识相关推荐
- Java代码块(代码块与静态代码块使用细节及调用顺序)
目录 1.代码块的基本介绍 2.静态代码块 类什么时候加载[重点] 创建对象实例时(new) 创建子类对象实例时,父类也会被加载 使用类的静态成员时(静态属性,静态方法) 3.代码块的使用小细节 普通 ...
- java中static代码块与非静态代码块
static代码块与非静态代码块的区别: static代是码块是在类加载时就加载的,而非静态代码块只有在对象实例化时才执行! 转载于:https://www.cnblogs.com/dazhuzhu/ ...
- 牛客网Java刷题知识点之关键字static、static成员变量、static成员方法、static代码块和static内部类...
不多说,直接上干货! 牛客网Java刷题知识点之关键字static static代表着什么 在Java中并不存在全局变量的概念,但是我们可以通过static来实现一个"伪全局"的概 ...
- 使用static代码块实现线程安全的单例设计模式
实现线程安全的单例设计模式的三种方式: DCL双检查锁机制实现线程安全 使用静态内置类实现线程安全 使用static代码块实现线程安全 -------------------------------- ...
- Java中static代码块,main函数,构造函数运行顺序
1.Java中static代码块,main函数,构造函数运行顺序如下: 答:static代码块是主动执行的,因此static代码块先执行,然后是执行构造函数,最后是Main函数. 如下例子: publ ...
- java类中的static块_java类中static代码块的执行次数
java类中 static静态代码块的执行次数 1.在类加载的init阶段,类的类构造器中会收集所有的static块和字段并执行,static块只执行一次,由JVM保证其只执行一次. 2.直接看示例 ...
- 块代码编程---开始使用块代码
http://blog.csdn.net/nicktang/article/details/6906352 本章的几节使用例子代码来开始块代码的学习. 定义和使用块代码 插入符^有两个作用,一个是声明 ...
- 【代码块】代码块使用注意事项和细节讨论
1. static代码块也叫静态代码块,作用就是对类进行初始化,而且它随着类的加载而执行,并且只会执行一次.如果是普通代码块,每创建一个对象,就执行. 2. 类什么时候被加载?[重要背!] (1)创建 ...
- 静态代码块 构造代码块 构造方法的执行顺序
今天我总结了一下java中静态代码块 构造代码块 构造方法的执行顺序及其注意问题 执行顺序: 静态代码块>构造代码块>构造方法体 首先要知道静态代码块是随着类的加载而加载,而构造代码块和构 ...
最新文章
- 在hue当中设置hive当中数据库的控制权限。
- c语言标准io中可读可写,C语言标准IO: [先读再feof] VS [先feof再读]
- 多租户通用权限设计(基于 casbin)
- WPF Slider设置整数
- SmartFox中的類型轉換
- 1102 Invert a Binary Tree(甲级)
- HDU 4547 CD操作
- 正则表达式学习(一)
- [转载] 非诚勿扰2
- 【CPRI】(2)组网方式及接口指标
- 全国各省电信及网通DNS大全
- 金蝶云星空API调用实践
- java-unrar-0.3.jar_java-unrar-0.3.jar解压
- 无需下载,优质网站分享
- java web胖客户端,【转载】:瘦客户端、胖客户端、富客户端
- 【转载】单片机入门经验
- 华为2020实习生招聘机试题
- JAVA MemCache 史无前例的详细讲解【转】
- 为什么评论会被折叠?
- 商汤科技、星宸科技、大华、帷幄匠心、联影医疗、深信服、亿联网络等2021校招面试总结