java 静态变量赋值_[改善Java代码]静态变量一定要先声明后赋值
时间: 2023-08-08 15:09:55 浏览: 59
是的,Java静态变量一定要先声明后赋值,否则会编译错误。可以在声明时给变量赋一个默认值,如下所示:
```java
public class MyClass {
// 声明静态变量并赋默认值
public static int myStaticVar = 0;
public static void main(String[] args) {
// 赋值
myStaticVar = 10;
}
}
```
或者使用静态代码块来初始化静态变量,如下所示:
```java
public class MyClass {
// 声明静态变量
public static int myStaticVar;
static {
// 初始化静态变量
myStaticVar = 10;
}
public static void main(String[] args) {
// 使用静态变量
System.out.println(myStaticVar); // 输出 10
}
}
```
注意,静态代码块中的代码会在类加载时执行,且只会执行一次。
相关问题
java 静态变量如何赋值
Java 中的静态变量可以通过以下两种方式进行赋值:
1. 在静态代码块中进行赋值:
```java
public class MyClass {
static int myStaticVariable;
static {
myStaticVariable = 10;
}
}
```
2. 直接进行赋值:
```java
public class MyClass {
static int myStaticVariable = 10;
}
```
无论使用哪种方式进行赋值,静态变量都会在类被加载时进行初始化。
静态变量赋值后还能赋值吗
静态变量是可以被多次赋值的。在Java中,静态变量是属于类级别的,因此在整个程序运行期间,只有一个静态变量实例。如果你在程序运行过程中对静态变量进行了多次赋值,那么后面的赋值会覆盖之前的赋值,最终只有最后一次赋的值生效。
以下是一个简单的示例:
```java
public class MyClass {
// 定义一个静态变量
private static int myStaticVar;
public static void main(String[] args) {
// 第一次赋值
myStaticVar = 123;
System.out.println("myStaticVar = " + myStaticVar);
// 第二次赋值
myStaticVar = 456;
System.out.println("myStaticVar = " + myStaticVar);
}
}
```
在上面的示例中,我们定义了一个静态变量`myStaticVar`,并在程序中两次对它进行了赋值。最终输出的结果是:
```
myStaticVar = 123
myStaticVar = 456
```
说明静态变量确实可以被多次赋值,并且后面的赋值会覆盖之前的赋值。