1. 程式人生 > >Java為什麼在例項化子類的物件時,會先呼叫父類的構造器

Java為什麼在例項化子類的物件時,會先呼叫父類的構造器

1、為什麼在例項化子類的物件時,會先呼叫父類的構造器?

答:子類繼承父類後,獲取到父類的屬性和方法,這些屬性和方法在使用前必須先初始化,所以須先呼叫父類的構造器進行初始化

2、在哪裡呼叫父類的構造器?

答:在子類構造器的第一行會隱式的呼叫 super();,即呼叫父類的構造器

        如果父類中沒有定義空參的構造器,則必須在子類的構造器的第一行顯示的呼叫super(引數); ,以呼叫父類中構造器

        如果子類中構造器的第一行寫了this();,則就隱式的super();會消失,因為super()和this()都只能在構造器的第一行定義