Java学习 第九章 代码块

文章介绍了代码块的基本概念,包括普通代码块、构造块、静态块,并详细说明了它们的用途和执行顺序。静态块在JVM加载类时执行,只执行一次,而实例代码块在创建对象时执行。文章还强调了不同代码块的初始化功能和执行顺序:静态代码块->构造块->带参数的构造方法。
摘要由CSDN通过智能技术生成

代码块

1.代码块概念以及分类

使用 {} 定义的一段代码称为代码块。根据代码块定义的位置以及关键字,又可分为以下四种:
1. 普通代码块
2. 构造块
3. 静态块
4. 同步代码块
(深入学习再了解)

2.普通代码块

普通代码块:定义在方法中的代码块

在这里插入图片描述

执行结果 x1 = 10
x2 = 100
这种用法较少见

3.构造代码块

构造块:定义在类中的代码块(不加修饰符)。也叫:实例代码块。构造代码块一般用于初始化实例成员变量。
在这里插入图片描述

4.静态代码块

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

public class Student{
    private String name;
    private String gender;
    private int age;
    private double score;
    private static String classRoom;
    //实例代码块
    {
        this.name = "小明";
        this.age = 12;
		this.gender = "man";
        System.out.println("I am instance init()!");
    }
// 静态代码块
static {
        classRoom = "101";
        System.out.println("I am static init()!");
        }
public Student(){
        System.out.println("I am Student init()!");
        }
public static void main(String[] args) {
       Student s1 = new Student();
       Student s2 = new Student();
       }
}

5.注意事项

静态代码块不管生成多少个对象,其只会执行一次 静态成员变量是类的属性,因此是在JVM加载类时开辟空间并初始化的
如果一个类中包含多个静态代码块,在编译代码时,编译器会按照定义的先后次序依次执行(合并)
实例代码块只有在创建对象时才会执行
执行顺序:静态代码块-》构造块-》带参数的构造方法

执行顺序例如:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
创建多个对象时静态代码块只会执行一次

在这里插入图片描述
在这里插入图片描述
因为静态代码块是类的属性是且类被加载时执行的,类只加载一次

当有两个静态加载时按照先后顺序执行
例如
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
第二种
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值