java怎么使用静态代码块里的变量
时间: 2024-02-24 15:00:37 浏览: 26
静态代码块中定义的变量属于静态变量,可以直接通过类名访问和使用。例如:
```java
public class MyClass {
static int num;
static {
num = 10;
}
public static void main(String[] args) {
System.out.println(MyClass.num); // 输出:10
}
}
```
在这个例子中,静态代码块中定义了一个静态变量 `num` 并赋值为 10。在 `main` 方法中直接通过类名访问该变量并输出。输出结果为 10。
相关问题
java静态代码块中的变量调用
静态代码块中的变量应该是静态变量,可以通过类名直接调用,例如:
```
public class MyClass {
static int myStaticVariable;
static {
myStaticVariable = 10;
}
}
```
在静态代码块中,可以对静态变量进行初始化赋值,然后在其他地方通过类名调用这个静态变量,例如:
```
int value = MyClass.myStaticVariable;
```
java 的静态代码块
静态代码块是在Java类加载时执行的一段代码,它用于初始化静态成员变量或执行一些静态操作。静态代码块在类加载时只执行一次,并且在类的所有实例之前执行。静态代码块的执行顺序是在类加载时按照代码的顺序执行。
以下是一个示例,演示了Java中的静态代码块的使用和执行顺序[^1]:
```java
class StaticTest {
// 静态代码块
static {
System.out.println("父类静态代码块执行了!!!!");
}
// 非静态代码块
{
System.out.println("父类非静态代码块执行了!!!!");
}
// 构造函数
public StaticTest() {
System.out.println("父类构造函数执行了!!!!");
}
}
class StaticTestSon extends StaticTest {
// 静态代码块
static {
System.out.println("子类静态代码块执行了!!!!");
}
// 非静态代码块
{
System.out.println("子类非静态代码块执行了!!!!");
}
// 构造函数
public StaticTestSon() {
System.out.println("子类构造函数执行了!!!!");
}
public static void main(String[] args) {
// 创建子类对象
StaticTestSon son = new StaticTestSon();
}
}
```
输出结果:
```
父类静态代码块执行了!!!!
子类静态代码块执行了!!!!
父类非静态代码块执行了!!!!
父类构造函数执行了!!!!
子类非静态代码块执行了!!!!
子类构造函数执行了!!!!
```
从输出结果可以看出,静态代码块在类加载时执行,而非静态代码块和构造函数在创建对象时执行。父类的静态代码块先于子类的静态代码块执行,而非静态代码块和构造函数的执行顺序则按照代码的顺序执行。