1.代码块是程序之中使用"{}"定义起来的一段程序,而根据声明位置和声明关键字的不同.代码块分为4种:普通代码块、构造块、静态块、同步块.
普通代码块
由于第一个变量定义在if语句中,所有相当于第二个变量x,在if语句中的变量x就相当于一个局部变量,不会因为名字出现错误.
运行结果
全局变量和局部变量针对代码情况而定,相对概念.由于第一个变量x定义在了if语句之中(定义在了"{}"中),所以相对于第二个变量x就成为局部变量.
构造块
普通代码块是定义在方法中,而构造块是定义在类中的代码块.
运行结果
可以发现构造块优先于构造方法,而且每当有一个新的实例化对象产生时,就会重复执行构造块的程序.
静态块
静态块也是定义在类中,如果一个构造块使用了static关键字进行定义的话,就表示静态块,有两种情况:
1.在非主类中定义的构造块
2.在主类中定义的构造块
在非主类中
运行结果
可以发现静态块优先于构造块,而且不管多个实例化对象产生,静态块只会执行一次,主要作用为类中static属性初始化.
在主类中
运行结果
在主类中定义静态块执行要优先主方法执行