1、概念:
使用大括号括着的1行或多行代码。
2、分类:
(1)局部代码块
(2)构造代码块
(3)静态代码块
(4)同步代码块
3、局部代码块
(1)语法:
{
…
}
(2)定义位置:方法之中
(3)代码示例
public class Demo5_局部代码块 {
public static void main(String[] args) {
{
int i = 10;
System.out.println(i);//10
}
//System.out.println(i);报错
}
}
局部代码块的作用:用于控制变量作用范围
4、构造代码块
(1)语法
{
…
}
(2)定义位置:类中,方法之外
(3)代码示例
public class Demo6_构造代码块 {
int a = 100;
int b = getValue();
public int getValue() {
System.out.println("执行变量显式赋值&&&");
System.out.println("a=" + a + "...b=" + b); //a=100,b=0>>>赋默认值先于显式赋值。
return 50;
}
{
System.out.println("执行构造代码块...");
}
public Demo6_构造代码块(){
System.out.println("执行构造函数%%%");
System.out.println("a=" + a + "...b=" + b);
}
public static void main(String[] args) {
//执行流程:每次创建对象都会执行。>>>构造代码块在对象创建过程中执行。
//对象创建流程
//在堆内存开辟空间>>将变量加载类空间中>>赋默认值>>super()>>显式赋值>>构造代码块>>执行构造方法>>对象创建完毕
//注意:[super()>>显式赋值>>构造代码块] java中的隐式3步
Demo6_构造代码块 demo6 = new Demo6_构造代码块();//构造代码块....
//Demo6_构造代码块 demo7 = new Demo6_构造代码块();//构造代码块....
}
}
构造代码块作用:减少构造函数的代码冗余,对属性赋值。
5、静态代码块
(1)语法
static{
…
}
(2)定义位置:类中,方法之外
(3)代码示例
package day08;
public class Demo7_静态代码块 {
static int a = 100;
static int b = getValue();
static {
System.out.println("a=" + a + "...b=" + b);
System.out.println("静态代码块...");
}
public static int getValue() {
System.out.println("a=" + a + "...b=" + b);
System.out.println("静态成员显式赋值");
return 50;
}
public static void main(String[] args) {
//执行流程:当该类被加载到方法区中时,都会执行静态代码块>>>类加载过程中执行的
Demo7_静态代码块 demo7 = new Demo7_静态代码块();//静态代码块...
Demo7_静态代码块 demo8 = new Demo7_静态代码块();
}
}
静态代码块的作用:对静态成员变量赋值。
本文详细介绍了Java中的四种代码块:局部代码块、构造代码块、静态代码块和同步代码块。通过实例展示了每种代码块的语法、定义位置及作用,并解释了它们在程序执行过程中的行为。
8770

被折叠的 条评论
为什么被折叠?



