Java入門習題(三) 初始化

2021-07-11 19:51:09 字數 1021 閱讀 8040

1,請寫出下列程式的執行結果

class

father

}class

sonextends

father

public

static

void

main

(string [

] args)

}

father

sonfather

解析

子類的構造方法會預設在第一句增加super()方法,如果指定其他帶引數的super方法則不執行預設方法
2,請寫出下列程式的執行結果
class

father

public

father()

}class

sonextends

father

public

static

void

main

(string [

] args)

}

b

c5

解析

因為沒有指定呼叫父類的哪乙個構造方法,所以編譯器預設增加空引數的super()方法
3,請寫出下列程式的執行結果
class

father

}class

sonextends

father

public

static

void

main

(string [

] args)

}

編譯失敗
解析

子類沒有指定呼叫父類的構造方法,預設為呼叫空參構造方法,但是父類沒有提供空慘構造方法。

解決方案:在父類中新增乙個空參的構造方法,或者是在子類中顯示的指明有參的構造方法。

java初始化順序

1 父類靜態成員和靜態初始化塊 按在 中出現的順序依次執行 2 子類靜態成員和靜態初始化塊 按在 中出現的順序依次執行 3 父類例項成員和例項初始化塊 按在 中出現的順序依次執行 4 父類構造方法 5 子類例項成員和例項初始化塊 按在 中出現的順序依次執行 6 子類構造方法 public abstr...

java初始化順序

例如以下 package chapter5 public class demo1one public void printinfo public static void main string args 程式一開始先執行 private static string password 0721 這行 ...

JAVA初始化順序

1 當使用新建物件例項或者呼叫靜態成員變數或者方法時,初始化靜態變數 2 靜態變數在初始化時在前面的先初始化,靜態塊和靜態變數相同對待 在初始化過程中,有新建物件例項的時候,暫時停止後面的靜態變數初始化 3 靜態變數沒有初始化時,使用預設的初始值 如int為0 4 新建物件例項,對非靜態的成員變數進...