加载一个类时,(什么是加载类,就是用到一个类里面的东西时,就会加载类到内存,我的理解有2种情况会出现
1,new Test()
2,Test.func() //静态方法调用 ,静态变量赋值
上面这2种情况会把类加载到内存,静态块会被执行 )
1,静态块被执行,只被执行1次,类已在内存中,就不需要加载了。
(类的内存划分,栈内存,堆内存,共享内存[类的普通方法区和静态变量和静态函数] )
2,类的成员变量默认初始化(分为隐式初始化和显示初始化)
举例:class Test {
int a =3; // 先隐式初始化 a=0 ,再显示初始化 a=3
}
3,类的构造块,也就是类里面的{ } 被执行
4,类的构造方法执行