1、类初始化的目的:给类中声明的静态变量初始化
实例初始化的目的:给对象的实例变量初始化
2、初始化的方式
(1)默认值
如果没有编写和初始化有关的任何代码
(2)显式赋值
在声明成员变量(静态变量或实例变量)时,直接在声明语句的后面 加 = 值;
class MyClass{
static int a = 1;
int b = 2;
}
代替默认值。
(3)构造器
只给实例变量初始化,不负责给静态变量初始化。
(4)代码块
静态代码块:给静态变量初始化
非静态代码块:给非静态的实例变量初始化
【修饰符】 class 类名{
static{
//静态代码块
}
{
//非静态代码块
}
}
public class TestInitialize {
public static void main(String[] args) {
System.out.println(MyClass.a);//1
MyClass my = new MyClass();
System.out.println(my.b);//1
}
}
class MyClass{
static int a;
int b;
static{
a = 1;
System.out.println(&