一、構造器的定義與作用
1.構造器的特徵:
具有和類相同的名稱;不含返回值 ;如果沒有構造器,系統預設提供。
2.作用:
為建立的物件執行初始化
3.語法格式:
《修飾符》《類名》([《引數列表》]) //無參構造方法
public student(string name,int age) //有參構造方法
4.構造器中的this和super
this:哪個物件呼叫構造器就指向哪個物件!
super:呼叫父類的構造器;
5.構造器中的繼承及呼叫
執行子類構造器時一定會呼叫父類構造器。如果要呼叫有參的父類構造器,就必須在子類構造器的第一行寫上super()
具體例子如下!!!
型別一:子類父類都包含有參構造器和無參構造器,建立乙個無參構造器的物件
型別二:子類父類都包含有參構造器和無參構造器,建立乙個有參構造器的物件public class demo03zi extends demo03fu
public demo03zi(int num)
public static void main(string args)
}public class demo03fu
public demo03fu(int num)
}輸出:
父類無參構造器
子類無參構造器
型別三:子類父類都包含有參構造器和無參構造器,建立乙個有參構造器的物件。在有參建構函式下使用帶參super;public class demo03zi extends demo03fu
public demo03zi(int num)
public static void main(string args)
}public class demo03fu
public demo03fu(int num)
}輸出:
父類無參構造器
子類有參構造器
型別四:子類包含有參構造器和無參構造器,父類僅有乙個有參構造方法,建立乙個無參構造器的物件。public class demo03zi extends demo03fu
public demo03zi(int num)
public static void main(string args)
}public class demo03fu
public demo03fu(int num)
}輸出:
父類帶參構造器
子類有參構造器
其餘的差不多啦,掌握繼承中構造器的執行順序。及this和super的用法就好了;再看個其他的public class demo03zi extends demo03fu
public demo03zi(int num)
public static void main(string args)
}public class demo03fu */
public demo03fu(int num)
}輸出:
報錯!!
原因:因為創造物件的構造器是無參的,但是在父類構造器中又找不到無參構造器。
//條件是子類有參無參構造器都有,父類僅有有參。建立帶參的物件
public class demo03zi extends demo03fu
public demo03zi(int num)
public static void main(string args)
}public class demo03fu */
public demo03fu(int num)
}輸出:
父類帶參構造器
子類有參構造器
構造器(構造方法)
知識點 1.乙個類即使什麼都不寫,他也會存在乙個方法 構造器 構造方法 2.構造方法的名字必須與定義他的類名完全相同,沒有返回型別,甚至連void也沒有。3.構造方法的呼叫是在建立乙個物件時使用new操作進行的。構造方法的作用是初始化物件。4.有參構造 一旦定義了有參構造,無參一定要寫出來!pack...
構造器(構造方法)
題目 編寫兩個類 和 test,其中 類中宣告私有的底邊長base和高height,同時宣告公共方法訪問私有變數。此外,提供類必要的構造器。另乙個類中使用這些公共方法,計算三角形的面積。回答 public class test public int a,int b public void setba...
構造方法構造器 構造方法過載
一 構造方法 構造器 定義 1 構造方法就是類似於方法,但是構造方法沒有返回值 不用也不能寫void 2 構造方法名字必須與類名相同 3 構造方法不能被static修飾 構造方法屬於物件,static屬於類 4 一旦定義帶參的建構函式,程式將不再為你自動建立空構造器。作用 可以在new物件的同時傳入...