Java代码块

Java代码块教程

代码块是指使用 {}括起来的一段代码,根据位置声明的不同,代码块可以分为普通代码块、构造块、静态代码块和同步代码块。

Java代码块详解

语法

{}

参数

参数 描述
{} 在 {} 里面写的代码,{} 包围起来的数据就是代码块

说明

在 Java语言中,代码块就是被 {} 包围起来的代码语句。

案例

普通代码块

普通代码块就是指直接在方法或者是在语句中定义的代码块。

package com.haicoder.net.chunk; public class ChunkTest { public static void main(String[] args) { System.out.println("嗨客网(www.haicoder.net)"); { String name = "嗨客网"; System.out.println("\n普通代码块里面 -> name : " + name); } String name = "www.haicoder.net"; System.out.println("\n普通代码块外面 -> name : " + name); } }

运行结果如下:

30 普通代码块.png

我们看到普通的代码块是写在方法里面的,它的代码块里面和代码块外面变量不会影响,他们之间是隔离开来的。

构造块

构造块是写在类里面的写的代码块。我们定义一个类,用来封装构造块。

package com.haicoder.net.chunk; public class Chunk { { System.out.println("1 嗨客网 构造块在构造方法之前"); } public Chunk(){ System.out.println("3 嗨客网 构造方法"); } { System.out.println("2 嗨客网 构造块在构造方法之后"); } }

定义一个类,来调用封装好的代码块

package com.haicoder.net.chunk; public class ChunkTest { public static void main(String[] args) { System.out.println("嗨客网(www.haicoder.net)"); Chunk chunk = new Chunk(); } }

运行结果如下:

31 构造块.png

我们可以看到,我们在构造方法的前后各自定义了一个方法块。我们会发现构造块里面语句会在构造方法里面的语句之前执行。

静态代码块

静态代码块,就是我们在 {} 方法块前面加 staitc 关键字。我们定义一个类里面包含静态代码块

package com.haicoder.net.chunk; public class Chunk { { System.out.println("2 嗨客网 构造块在构造方法之前"); } static { System.out.println("0 嗨客网 在构造方法前的静态代码块"); } public Chunk() { System.out.println("4 嗨客网 构造方法"); } { System.out.println("3 嗨客网 构造块在构造方法之后"); } static { System.out.println("1 嗨客网 在构造方法后的静态代码块"); } }

调用定义了代码块的类:

package com.haicoder.net.chunk; public class ChunkTest { public static void main(String[] args) { System.out.println("嗨客网(www.haicoder.net)"); Chunk chunk = new Chunk(); Chunk chunk1 = new Chunk(); } }

运行结果如下:

32 静态代码块.png

从运行结果我们可以看到,静态代码块会在构造块之前运行,然后是构造块,最后是构造函数。而且我们知道 static 是类维度的,所以无论我们创建多少个对象,静态代码块始终只执行一次。

Java代码块总结

Java 语言 中,代码块就是用 {} 包起来的一段代码块,它里面可以定义一些特有的逻辑操作。在定义对象的时候,静态代码块的执行顺序是第一个,它执行仅执行一次。构造块是在类维度的,普通代码块是在方法维度的。