静态代码块
时间: 2023-07-02 10:06:38 浏览: 145
静态代码块是在类被加载时执行的一段代码块。它使用关键字`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虚拟机第一次加载类时,会执行静态代码块。如果一个类中有多个静态代码块,它们会按照在代码中出现的顺序依次执行。
静态代码块主要用于在类加载时进行初始化操作,例如为静态变量赋初值、加载驱动程序等。需要注意的是,静态代码块只会执行一次,因此一般情况下不应该在静态代码块中包含会改变程序运行结果的代码。
java中,当实例化子类对象时,如果有以下几个会被加载,那么加载的顺序是什么? (1)父类静态代码块 (2)父类构造函数 (3)父类非静态代码块 (4)子类静态代码块 (5)子类构造函数 (6)子类非静态代码块
在Java中,当实例化子类对象时,加载的顺序如下:
1. 父类静态代码块(如果父类存在)。
2. 子类静态代码块。
3. 父类非静态代码块(如果父类存在)。
4. 父类构造函数。
5. 子类非静态代码块。
6. 子类构造函数。
所以,首先会加载父类的静态代码块,然后是子类的静态代码块。接着是父类的非静态代码块和构造函数,最后是子类的非静态代码块和构造函数。
阅读全文