最近被初始化快和靜態初始化快整懵了,現整理如下:
** 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初始化塊");
}
}