JAVA分类代码_Java 代码块的分类

代码块

代码是程序的表现,而代码块是代码的具体组成部分。在java中,我们将用{}括起来的块成为代码块,代码块分为以下四种。

1. 普通代码块

定义在方法中不加任何修饰符的代码块称为普通代码块。普通代码块使用较少,一般如果方法中的代码过长,为避免变量重名,可使用普通代码块进行解决,如下:

public static void main(String[] args) {

// 直接使用{}定义,普通方法块

{

int x = 10 ;

System.out.println("x = " +x);

}

int x = 100 ;

System.out.println("x = " +x);

}

2.构造块

定义在类中不加任何修饰(无修饰符)的代码块称为构造块。构造块优先构造方法执行,每创建一个对象,构造块就执行一次。主类中也有构造块,而且主类的构造块也是在主类构造方法之前执行的(主类也有构造方法,如果没有显示的写出,那么就是JVM提供的默认无参构造)。

构造块中可以执行简单的逻辑操作,使我们在执行构造方法之前能做些什么事情,如打印日志之类的。

3. 静态块

静态块优先于构造块执行,并且不管创建多少个对象都只在第一次创建该类对象的时候执行一次。

主类中也存在静态块,且主类中的静态块优先于main方法执行。

针对静态块以上的优点,如果有一些属性需要在对象创建开始就进行处理,可以考虑放在静态块中执行。

4. 同步代码块

同步代码块指的是被同步修饰符synchronized的代码块,用于将进入代码块的指定对象上锁,在上锁对象运行同步代码块期间,处于互斥状态。

class Demo {

// 构造方法

public Demo() {

System.out.println("1. 我是构造方法");

}

// 构造块

{

System.out.println("2. 我是构造块");

}

//静态快

static {

System.out.println("3. 我是静态块");

}

public void fun() {

// 普通代码块

{

int x = 10;

System.out.println("4. 我是普通代码块"+x);

}

int x = 100;

System.out.println("5. 我是普通方法"+x);

}

}

public class Test {

public static void main(String[] args) {

Demo demo = new Demo();

demo.fun();

}

}

运行结果:

06bac662b6d361ee3387e173561458cf.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值