java代码块有几种?
时间: 2023-12-30 07:03:42 浏览: 95
源代码的一些代码块
Java中主要有以下3种代码块:
1. 普通代码块
普通代码块也称为局部代码块,它是指定义在方法或语句中的代码块。普通代码块在执行到它们所在的语句时被执行,执行完后就被释放。
示例代码:
```
public class Test {
public static void main(String[] args) {
int a = 10;
{
int b = 20;
System.out.println(a); // 输出10
System.out.println(b); // 输出20
}
// System.out.println(b); // 编译错误,b已经超出了作用域
}
}
```
2. 静态代码块
静态代码块也称为类初始化块,它是指使用static修饰的代码块。静态代码块在类加载时被执行,只执行一次,并且在构造函数执行前执行。
示例代码:
```
class MyClass {
static {
System.out.println("MyClass is loaded.");
}
}
public class Test {
public static void main(String[] args) {
MyClass obj = new MyClass(); // 输出"MyClass is loaded."
}
}
```
3. 构造代码块
构造代码块也称为实例初始化块,它是指定义在类中,没有用static修饰的代码块。构造代码块在每次创建对象时被执行,构造函数执行前执行。
示例代码:
```
class MyClass {
{
System.out.println("MyClass is created.");
}
public MyClass() {
System.out.println("MyClass is initialized.");
}
}
public class Test {
public static void main(String[] args) {
MyClass obj1 = new MyClass(); // 输出"MyClass is created."和"MyClass is initialized."
MyClass obj2 = new MyClass(); // 输出"MyClass is created."和"MyClass is initialized."
}
}
```
总结:Java中代码块可以分为普通代码块、静态代码块和构造代码块。普通代码块定义在方法或语句中,静态代码块使用static修饰,构造代码块定义在类中,没有用static修饰。它们的执行顺序是:静态代码块 > 构造代码块 > 构造函数 > 普通代码块。
阅读全文