最近被初始化快和静态初始化快整懵了,现整理如下:
** ps: 大学时的ppt课件都被我翻出来了 (^∇^*) **
** 不看前面内容,我写在本文最后的那道测试题绝对让大部分人懵逼 <( ̄︶ ̄)>**
测试代码
1、static初始化块
static初始化块是在构造函数之前执行的,而且只执行一次,即类首次加载时。
测试代码:
2、初始化块<( ̄︶ ̄)>
测试代码:
原代码:
package dem;
public class A extends B {
public A() {
System.out.println("A构造方法");
}
static {
System.out.println("A静态初始化块");
}
{
System.out.println("A初始化块");
}
public static void main(String[] args) {
new A();
System.out.println("--------");
new A();
}
}
class B {
public B() {
System.out.println("B构造方法");
}
static {
System.out.println("B静态初始化块");
}
{
System.out.println("B初始化块");
}
}