源代碼:
package org.phn.reusingclass;
/**
* Created by Pan on 2016/10/8.
*/
public class Bath {
private String s0;
private String s1 = "s1";//5
private static String s2 = "s2";//1
private String s3="s3";//6
private String s4;
public Bath(){//8
System.out.println("new Bath()");
}
public Bath(String s){
System.out.println("new Bath('"+s+"')");
}
static{//2
System.out.println("static block");
}
{//7
System.out.println("block");
}
public static void main(String[] args) {
BathSon b = new BathSon();
}
}
class BathSon extends Bath {
private static String ss1 = "s1";//3
private String ss2="s2";//9
public BathSon(){//11
System.out.println("new BathSon()");
}
static{//4
System.out.println("son static block");
}
{//10
System.out.println("son block");
}
}
可以試着運行一下代碼
改動一下static成員變量和static代碼塊的位置
改動一下普通成員變量和普通代碼塊的位置
這裏多設置斷點,來看執行的過程。
下圖只是簡單的說明了一下,還有很多細節需要深思。
歡迎一起討論交流