/**
*
*
* @author wxy
* @date 2018年10月30日 下午1:45:02
*/
public class StaticTest {
public static void main(String[] args) {
SubClazz sub = new SubClazz();
}
}
class SupClazz {
private static String supStaticStr = "父類-靜態-變數";
private String supNormnalStr = "父類-普通-變數";
static {
System.out.println(supStaticStr);
System.out.println("父類-靜態-域");
}
{
System.out.println(supNormnalStr);
System.out.println("父類-普通-域");
}
public SupClazz() {
System.out.println("父類-建構函式");
}
}
class SubClazz extends SupClazz {
private static String subStaticStr = "子類-靜態-變數";
private String subNormnalStr = "子類-普通-變數";
static {
System.out.println(subStaticStr);
System.out.println("子類-靜態-域");
}
{
System.out.println(subNormnalStr);
System.out.println("子類-普通-域");
}
public SubClazz() {
System.out.println("子類-建構函式");
}
}
輸出:
父類-靜態-變數
父類-靜態-域
子類-靜態-變數
子類-靜態-域
父類-普通-變數
父類-普通-域
父類-建構函式
子類-普通-變數
子類-普通-域
子類-建構函式
備註:「靜態變數和靜態作用域」,「常規變數和常規作用域」的先後順序等同於程式碼出現的先後順序。