代码块

本文详细介绍了Java中的四种代码块:局部代码块、构造代码块、静态代码块及其特点,并通过具体案例展示了它们的执行顺序及应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.1 局部代码块
局部代码块是定义在方法或语句中
1.1.1 案例代码六:

public class BlockDemo {
public static void main(String[] args) {
//局部代码块:存在于方法中,控制变量的生命周期(作用域)
 {
for(int x = 0;x < 10;x++) {
System.out.println("我爱Java");
}
int num = 10;
}
//System.out.println(num);//无法访问num,超出num的作用域范围

}
}

1.2 构造代码块
构造代码块是定义在类中成员位置的代码块
1.2.1 案例代码七:

package com.itheima_04;
class Teacher {
String name;
int age;
{
for(int x = 0;x < 10;x++) {
System.out.println("我爱Java");
}
System.out.println("我爱Java");
}

public Teacher() {
System.out.println("我是无参空构造");
}
public Teacher(String name,int age) {
System.out.println("我是有参构造");
this.name = name;
this.age = age;
}
}

1.3 静态代码块
A:静态代码块是定义在成员位置,使用static修饰的代码块
1.3.1 案例代码八:

class Teacher {[/size][/font][/align][font=微软雅黑][size=3]String name;
int age;

//静态代码块:随着类的加载而加载,只加载一次,加载类时需要做的一些初始化,比如加载驱动
static {
System.out.println("我爱Java");
}
public Teacher() {
System.out.println("我是无参空构造");
}
public Teacher(String name,int age) {
System.out.println("我是有参构造");
this.name = name;
this.age = age;
}
}

1.4 每种代码块特点:1.4.1 局部代码块:
以”{}”划定的代码区域,此时只需要关注作用域的不同即可
方法和类都是以代码块的方式划定边界的
1.4.2 构造代码块
优先于构造方法执行,构造代码块用于执行所有对象均需要的初始化动作
每创建一个对象均会执行一次构造代码块。
1.4.3 静态代码块
它优先于主方法执行、优先于构造代码块执行,当以任意形式第一次使用到该类时执行。
该类不管创建多少对象,静态代码块只执行一次。
可用于给静态变量赋值,用来给类进行初始化。
1.4.4 案例代码九:

package com.itheima_04;

/*
 *   Coder静态代码块执行 --- Coder构造代码块执行 --- Coder无参空构造执行
 *  
 *  
 *   BlockTest静态代码块执行 --- BlockTest的主函数执行了 --- Coder静态代码块执行 --- Coder构造代码块执行 --- Coder无参空构造执行
 *   Coder构造代码块执行 --- Coder无参空构造执行
 *
 */
public class BlockTest {
static {
System.out.println("BlockTest静态代码块执行");
}
{
System.out.println("BlockTest构造代码块执行");
}

public BlockTest(){
System.out.println("BlockTest无参构造执行了");
}
public static void main(String[] args) {
System.out.println("BlockTest的主函数执行了");
Coder c = new Coder();
Coder c2 = new Coder();
}
}

class Coder {
static {
System.out.println("Coder静态代码块执行");
}
{
System.out.println("Coder构造代码块执行");
}
public Coder() {
System.out.println("Coder无参空构造执行");
}
}

转载于:https://blog.51cto.com/13587708/2087550

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值