您好,登錄后才能下訂單哦!
public class Hello{
static {
System.out.println("靜態塊");
}
{
System.out.println("實例塊");
}
public Hello(){
System.out.println("構造方法");
}
public static void main(String []args){
}
}
運行后是這樣的:
靜態塊
在main方法里面實例化一下,即代碼是這樣的:
public class Hello{
static {
System.out.println("靜態塊");
}
{
System.out.println("實例塊");
}
public Hello(){
System.out.println("構造方法");
}
public static void main(String []args){
Hello hello = new Hello();
}
}
運行后是這樣的:
靜態塊
實例塊
構造方法
通過上面的這兩個例子可以看出來,當一個類加載的時候,調用靜態塊,當實例化一個對象的時候,實例塊和構造方法被調用。
然后下面我這樣寫了寫:
先寫了一個父類:
public class Personal{
static{
System.out.println("父類的static塊");
}
{
System.out.println("父類的實例塊..");
}
public Personal(){
System.out.println("父類的構造方法..");
}
}
然后寫了一個子類:
public class Child extends Personal{
static{
System.out.println("子類的static塊");
}
public Child(){
System.out.println("子類的構造方法。");
}
{
System.out.println("子類實例塊..");
}
}
在另外的一個類里面測試:
public class Test{
public static void main(String []args){
Child child = new Child();
}
}
運行后得到的結果是:
父類的static塊
子類的static塊
父類的實例塊..
父類的構造方法..
子類實例塊..
子類的構造方法..
由此可以得到的結論是:
類的初始化過程是:
1.父類靜態塊
2.子類靜態塊
3.父類實例塊
4.父類構造器
5.子類實例塊
6.子類構造器
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。