❶ 什麼是構造方法什麼是重載
構造方法 構造方法是一種特殊的方法,與一般的方法不同是:
1.構造方法的名字必須與定義他的類名完全相同,沒有返回類型,甚至連void也沒有。
2.構造方法的調用是在創建一個對象時使用new操作進行的。構造方法的作用是初始化對象。
3.不能被static、final、synchronized、abstract和native修飾。構造方法不能被子類繼承。
構造方法可以被重載。沒有參數的構造方法稱為默認構造方法,與一般的方法一樣,構造方法可以進行任何活動,但是經常將他設計為進行各種初始化活動,比如初始化對象的屬性。
在Java中,任何變數在被使用前都必須先設置初值.Java提供了為類的成員變數賦初值的專門功能:構造方法(constructor)構造方法是一種特殊的成員方法,它的特殊性反映在如下幾個方面:
(1)構造方法名與類名相同.
(2)構造方法不返回任何值,也沒有返回類型.
(3)每個類可以有零個或多個構造方法.
(4)構造方法在創建對象時自動執行,一般不能顯式地直接調用.
具體使用:分別計算長、寬為20、10和6、3的兩個長方形的面積。
class RectConstructor{
double length;
double width;
double area(){
return length*width;
}
RectConstructor(double width,double length){//帶參數的構造方法
this.length=length;
this.width=width;
}
}
public class RectDemo{
public static void main(String args[]) {
RectConstructor rect1=new RectConstructor(10,20);
RectConstructor rect2=new RectConstructor(3,6);
double ar;
ar=rect1.area();
System.out.println("第一個長方形的面積是"+ar);
ar=rect2.area();
System.out.println("第二個長方形的面積是"+ar);
}
}
重載 重載是不是多態?
re:
重載還是一種是多態吧,有四種形式的多態
1.虛函數多態
2模板多態
3重載
4轉換
所謂的動態和靜態區分是另一種基於綁定時間的多態分類,嚴格來說,重載是編譯時多態,即靜態多態,根據不同類型函數編譯時會產生不同的名字如int_foo和char_foo等等,以此來區別調用。故重載仍符合多態定義——通過單一標識支持不同特定行為的能力,只是重載屬於靜態多態,而不是通過繼承和虛函數實現的動態多態。
❷ java構造方法的重載有什麼作用,構造不是用來初始化類的成員變數嗎,有一個就可以在建立對象時在小括
這個問題你可以把sub裡面test方法的this.a改為super.a會發現輸出的是5,也就是說new
sub()時先去初始化super,會調用super里的test方法,而在sub里重寫了test方法,則這個this其實是sub,而還sub還未初始化故a=0,改為super後訪問的是super的a就是5了,你可以把sub里的test注掉再跑一邊
❸ 什麼是方法重載構造方法可以重載嗎
重載Overload表示同一個類中可以有多個名稱相同的方法,但這些方法的參數列表各不相同(即參數個數或類型不同)。
構造方法可以重載。