可以在代码上加上详细注释吗
时间: 2023-10-30 13:08:13 浏览: 80
算法题代码加详细注释刷题
当一个类被加载时,静态块会执行,例如:
```java
public class MyClass {
// 定义一个静态变量
public static String staticVar = "staticVar";
// 定义一个实例变量
public String instanceVar = "instanceVar";
// 静态块,只会执行一次,用于对静态变量进行初始化或加载资源等
static {
System.out.println("静态块执行");
// 对静态变量进行初始化
staticVar = "newStaticVar";
}
// 实例块,每次创建对象时都会执行,用于对实例变量进行初始化或进行一些其他的实例化操作
{
System.out.println("实例块执行");
// 对实例变量进行初始化
instanceVar = "newInstanceVar";
}
// 构造方法,每次创建对象时都会执行,用于对实例变量进行初始化或进行一些其他的实例化操作
public MyClass() {
System.out.println("构造方法执行");
}
}
```
当我们创建对象时,实例块和构造方法会执行,例如:
```java
public class Test {
public static void main(String[] args) {
// 创建一个MyClass对象
MyClass myClass1 = new MyClass();
// 创建另一个MyClass对象
MyClass myClass2 = new MyClass();
// 访问静态变量staticVar
System.out.println(myClass1.staticVar);
// 访问实例变量instanceVar
System.out.println(myClass1.instanceVar);
// 访问静态变量staticVar
System.out.println(myClass2.staticVar);
// 访问实例变量instanceVar
System.out.println(myClass2.instanceVar);
}
}
```
输出结果为:
```
静态块执行
实例块执行
构造方法执行
实例块执行
构造方法执行
newStaticVar
newInstanceVar
newStaticVar
newInstanceVar
```
从输出结果可以看到,静态块只在类加载时执行了一次,实例块和构造方法在创建对象时执行了两次,实例块先于构造方法执行,静态变量的值在静态块中被初始化。
阅读全文