java类的成员之代码块

类的成员之四:代码块

  • 在Java类中,除了字段(属性)和方法之外,还可以包含代码块。
  • 代码块是一组语句,可以在类中定义,用于初始化实例变量或执行特定的操作。
  • 在Java中,有两种类型的代码块:静态代码块和实例代码块。
  • 静态代码块按照在类中出现的顺序执行,且仅执行一次(在类加载时)。
  • 实例代码块在每次创建对象时执行,执行顺序与它们在类中出现的顺序一致,优先于构造方法执行。
  • 可以在有多构造器时抽出相同代码,来使得代码更精简

静态代码块:

  • 静态代码块使用关键字 static 来声明,它在类加载时执行(类只加载一次),且只执行一次。静态代码块用于初始化静态变量或执行静态操作。静态代码块位于类中的任何位置,但在类加载时按照在类中出现的顺序执行。只能调用静态的结构(若调用非静态可能会因为非静态结构消亡而无法调用)
  • 主要用于对静态变量的赋值,防止静态变量被修改
public class MyClass {
    static {
        // 静态代码块
        System.out.println("Static block is executed.");
    }
}

实例代码块:

  • 实例代码块没有使用关键字 static,它在创建对象时执行,每次创建对象时都会执行一次。实例代码块用于初始化实例变量或执行实例操作。实例代码块位于类中,但不在任何方法内部。可以调用静态和非静态的结构
public class MyClass {
    {
        // 实例代码块
        System.out.println("Instance block is executed.");
    }
}

构造器和代码块区别

  • 构造器用于初始化对象,而代码块用于执行特定的代码逻辑。
  • 构造器在创建对象时被调用,代码块在类加载或对象创建时执行。
  • 构造器没有返回类型,而代码块也不需要返回类型。
  • 构造器的名称与类名相同,而代码块没有名称,只是一段被大括号包围的代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值