對於Java類的構造方法我們大家都不陌生,只要你是開發你就會用到,Java類的構造方法可以有帶參的和不帶參的。
當我們聲明瞭一個帶參的構造方式時,需要顯示的聲明一個不帶參的構造方法,以便其他用到無參構造創建對象,其原因就是因爲當我們沒有聲明構造方法時,虛擬機會自動給我們隱式的聲明一個無參構造方法,當我們手動聲明一個帶參的構造方法,虛擬機就不會爲我們生成無參構造了,所以爲了方便,我們在聲明帶參構造時必須聲明一個無參構造。
當子類繼承一個只有帶參構造的類時,必須得聲明構造方法並且得顯示的使用supper(帶參數)。這是一個受檢查的異常,而且也不會有人這麼幹,只不過面試中被人問道,所以寫出來了。上段代碼看看
package com.mytest.demo.test;
public class Mytest extends TestParent{
//這裏必須顯示的聲明一個帶參構造並且顯示的使用super,否則會
public Mytest(String str) {
super(str);
}
public static void main(String[] args) {
}
}
class TestParent{
private String mytest;
//顯示的聲明瞭一個帶參構造
public TestParent(String str) {
mytest = str;
}
}