『壹』 構造方法有什麼作用
作用就是對類進行初始化。
如果你沒有定議任何構造方法的形式,程式會為你取一個不帶任何參數的構造函數,那麼你產生類的對像時只能用不帶參數的方法,如:class a {}//沒有任何構造函數,class b{ a c = new a();}//a()不能帶任何參數。
『貳』 java類的構造方法是什麼
構造方法和實例方法的區別
一、主要的區別在於三個方面:修飾符、返回值、命名
1、和實例方法一樣,構造器可以有任何訪問的修飾符,public、private、protected或者沒有修飾符 ,都可以對構造方法進行修飾。不同於實例方法的是構造方法不能有任何非訪問性質的修飾符修飾,例如static、final、synchronized、abstract等都不能修飾構造方法。
解釋:構造方法用於初始化一個實例對象,所以static修飾是沒有任何意義的;多個線程不會同時創建內存地址相同的同一個對象,所以synchronized修飾沒有意義;
構造方法不能被子類繼承,所以final和abstract修飾沒有意義。
2、返回類型是非常重要的,實例方法可以返回任何類型的值或者是無返回值(void),而構造方法是沒有返回類型的,void也不行。
3、至於命名就是構造方法與類名相同,當然了實例方法也可以與類名相同,但是習慣上我們為實例方法命名的時候通常是小寫的,另一方面也是與構造方法區分開。
而構造方法與類名相同,所以首字母一般大寫。
下面看幾個例子熟悉一下:
publicclassSample{
privateintx;
publicSample(){//不帶參數的構造方法
this(1);
}
publicSample(intx){//帶參數的構造方法
this.x=x;
}
publicintSample(intx){//不是構造方法
returnx++;
}
}
上面的例子即使不通過注釋我們也很容易能區分開的,再看下面一個例子
publicclassMystery{
privateStrings;
publicvoidMystery(){//不是構造方法
s="constructor";
}
voidgo(){
System.out.println(s);
}
publicstaticvoidmain(String[]args){
Mysterym=newMystery();
m.go();
}
}
程序執行的結果為null,雖然說Mystery m = new Mystery();調用了Mystery 類的構造方法,但是public void Mystery()並不是構造方法,他只是一個普通的實例方法而已,那該類的構造方法哪去了呢?
二、說到這就得說一下java的默認構造方法
我們知道,java語言中規定每個類至少要有一個構造方法,為了保證這一點,當用戶沒有給java類定義明確的構造方法的時候,java為我們提供了一個默認的構造方法,這個構造方法沒有參數,修飾符是public並且方法體為空。如果用戶有定義構造方法,就不會有默認構造方法!!!
其實默認的構造方法還分為兩種,一種就是剛剛說過的隱藏的構造方法,另一種就是顯示定義的默認構造方法.
如果一個類中定義了一個或者多個構造方法,並且每一個構造方法都是帶有參數形式的,那麼這個類就沒有默認的構造方法,看下面的例子。
publicclassSample1{}
publicclassSample2{
publicSample2(inta){System.out.println("MyConstructor");}
}
publicclassSample3{
publicSample3(){System.out.println("MyDefaultConstructor");}
}
上面的三個類中Sample1有一個隱式的默認構造方法,下列語句Sample1 s1=new Sample()合法;
Sample2沒有默認的構造方法,下列語句Sample2 s2=new Sample2()不合法,執行會編譯錯誤
Sample3有一個顯示的默認構造方法,所以以下語句Sample3 s3=new Sample3();合法。
『叄』 構造函數有幾種方法
構造函數就是一類特殊的方法。
他不同於其他方法的地方
一、創建對象時構造函數自動運行,而一般方法必須有調用語句調用才能執行
二、構造函數與類名必須相同(含大小寫)
三、構造函數不能有返回值類型
『肆』 結構方式有哪些
常見的文章結構方式有四種。 1、、、、並列式並列式並列式並列式::::文章各部分的內容沒有主次輕重之分。例如培根的《輪讀書》,三個部分分別談到了讀書的目的、讀書的方法、讀書的好處,就是採用並列的結構。 2、、、、總分式總分式總分式總分式;;;;先總述,再分說。這種關系還可以演變為「分—總」或「總—分—總」的結構方式。例如《應有格物致知的精神》一文採用的就是「總—分—總」的結構:先總說「格物」「致知」就是指現代學術的基礎,即實地的探察,也就是現在所謂的實驗。然後先儒家對「格物」「致知」意義的曲解和對「格物」「致知」精神的埋沒;再闡述科學發展為什麼需要「格物」「致知」的精神。最後從正反兩個方面總結「格物」「致知」精神的重要性。 3、、、、對照式對照式對照式對照式::::文中兩部分內容或進行對比,或用這部分內容烘托另一部分內容。例如魯迅先生的《中國人失掉自信力了嗎》一文,前一部分反面批駁了敵論中的論據不能證明論點,即中國人失掉的是「他信力」,發展的是「自欺力」,而不是「自信力」直接批駁了敵論;後一部分從正面列舉事實,提出正確的論點,我們中國人沒有失掉自信力,間接地批駁了敵論。 4、、、、遞進式遞進式遞進式遞進式::::文章幾部分內容逐層深入。例如《不求甚解》一文,先從「不求甚解」一詞的來歷談起,分析了陶淵明的讀書方法,首先要「好讀書」,二是主張讀書要會意。再從正反兩個方面舉例說明,讀書應當重在讀懂書本的精神實質,而不是尋章摘句。最後進一步從正反兩個方面論證了讀書「不求甚解」的重要性。 文章結構的基本形式
『伍』 構造方法有什麼作用與普通方法有哪些區別
用法。。構造方法是在new對象的時候自動調用的。作用通常是用來初始化以及傳參。而普通的方法是通過對象調用才會調用。
比如:
class Test{
int a ;
//構造方法,括弧中就是傳參,當然括弧里可以什麼都不寫
Test(int b){
//將a初始化,比如將a初始化為傳進來的值b
a = b;
}
//方法fun
void fun(){
a++;
}
}
以上為一個類,而如果要使用B的普通方法的時候,需要先new出一個A的對象
Test test = new Test(1)。這樣就會new出一個對象,而同時會自動調用Test里的構造方法於是a就被初始化為了1;
之後再通過對象test調用fun方法,test.fun()來實現a++;
『陸』 構造方法有哪些語法要求
沒有返回參數,方法名與類名相同
『柒』 什麼是構造方法構造方法和普通方法有什麼區別
1樓在胡說吧?創建類會調構造方法?構造方法實在new對象的時候被調用的,是被系統自動調用的,而且一定會被調用,構造方法一般用來給對象的屬性做初始化的,構造方法沒有返回值,普通方法必須有返回值,就算不返回也得寫個
void,這就是他們的區別