静态代码块
时间: 2023-07-02 20:06:38 浏览: 64
静态代码块是在类被加载时执行的一段代码块。它使用关键字`static`定义,并且在类的声明中放置在成员变量之后。静态代码块通常用于初始化静态变量,或执行一些与类相关的操作,例如加载驱动程序、建立数据库连接等。
静态代码块只会被执行一次,即在类被加载时执行,且只能访问静态成员变量和静态方法,无法访问非静态成员变量和非静态方法。下面是一个静态代码块的示例:
```java
public class Example {
static int count;
static {
count = 10;
System.out.println("Static block initialized.");
}
public static void main(String[] args) {
System.out.println("Count: " + count);
}
}
```
运行上面的代码将输出以下信息:
```
Static block initialized.
Count: 10
```
可以看到,在类被加载时静态代码块被执行,并初始化了静态变量`count`的值。
相关问题
java 静态代码块
静态代码块是在Java类加载时执行的一段代码,它在类的所有实例化对象之前执行。静态代码块用于初始化静态变量或执行一些只需执行一次的操作。以下是一个Java静态代码块的示例:
```java
public class MyClass {
static {
// 静态代码块中的代码
System.out.println("这是静态代码块");
}
public static void main(String[] args) {
// 主方法中的代码
System.out.println("这是主方法");
}
}
```
在上面的示例中,静态代码块用`static{}`包围,它在类加载时执行,并且只执行一次。当运行`MyClass`类时,会先执行静态代码块中的代码,然后再执行主方法中的代码。输出结果为:
```
这是静态代码块
这是主方法
```
static静态代码块
静态代码块(Static Block)是在类被加载时自动执行的一段代码块。它在类的静态成员(静态变量和静态方法)被初始化之前执行,并且只会执行一次。
静态代码块使用关键字 `static` 来修饰,并放置在类中的任意位置。当类被加载时,静态代码块会按照定义的顺序被执行。
静态代码块通常用于在类加载时进行一些初始化操作,例如初始化静态变量、加载驱动程序等。在实际应用中,静态代码块也可以用来执行一些需要提前完成的逻辑,确保在类使用之前的一些准备工作得以完成。
以下是一个示例代码,展示了静态代码块的使用:
```java
public class MyClass {
static {
// 静态代码块中的逻辑
System.out.println("执行静态代码块");
}
public static void main(String[] args) {
// 主方法中的逻辑
System.out.println("执行主方法");
// 创建对象
MyClass obj = new MyClass();
}
}
```
当上述代码运行时,会先执行静态代码块中的逻辑,输出 "执行静态代码块";接着执行主方法中的逻辑,输出 "执行主方法";最后创建对象时,类的构造方法会被调用。
需要注意的是,静态代码块只会在类加载时执行一次,且执行顺序与其在类中的定义顺序有关。