原文地址: http://www.java2000.net/p11583
這里主要看類的構(gòu)造器的情況,默認(rèn)的,無參數(shù)的,有參數(shù)的,有不同參數(shù)類型的,有多個參數(shù)的等各種情況。
- package ?lession7;
- /**
- ?*?老紫竹JAVA基礎(chǔ)培訓(xùn)(7),構(gòu)造器的使用.<br>
- ?*?
- ?*?@author?老紫竹?JAVA世紀(jì)網(wǎng)(java2000.net)
- ?*?
- ?*/
- public ? class ?Lession7?{
- ?? public ? static ? void ?main(String[]?args)?{
- ???? new ?class1();? //?使用了系統(tǒng)自動提供的無參數(shù)構(gòu)造器
- ???? new ?class2();? //?使用了手工編寫的無參數(shù)構(gòu)造器
- ???? new ?class3();? //?使用無參數(shù)構(gòu)造器
- ???? new ?class3( "java2000.net" );? //?使用有參數(shù)構(gòu)造器
- ???? //?new?class4();?//?使用無參數(shù)構(gòu)造器失敗
- ???? new ?class4( "java2000.net" );? //?調(diào)用有參數(shù)構(gòu)造器
- ???? new ?class5();? //?使用無參數(shù)構(gòu)造器
- ???? new ?class5( "java2000.net" );? //?調(diào)用有參數(shù)構(gòu)造器
- ???? new ?class5( 1 );? //?調(diào)用有參數(shù)的構(gòu)造器
- ???? new ?class5( "java2000.net" ,? 1 );? //?帶2個參數(shù)的構(gòu)造器
- ??}
- }
- class ?class1?{
- ?? //?此類沒有寫任何構(gòu)造器
- ?? //?系統(tǒng)會自動提供一個默認(rèn)的?public?的無參數(shù)構(gòu)造器
- }
- class ?class2?{
- ?? //?手工編寫的無參數(shù)構(gòu)造器
- ?? //?如果只有這個構(gòu)造器,則和class1沒有任何區(qū)別
- ?? public ?class2()?{
- ??}
- }
- class ?class3?{
- ?? //?無參數(shù)的構(gòu)造器
- ?? public ?class3()?{
- ??}
- ?? //?有參數(shù)的構(gòu)造器
- ?? public ?class3(String?name)?{
- ??}
- }
- class ?class4?{
- ?? //?這個類只有一個帶參數(shù)的構(gòu)造器
- ?? //?系統(tǒng)不會自動生成無參數(shù)的構(gòu)造器的
- ?? public ?class4(String?name)?{
- ??}
- }
- class ?class5?{
- ?? //?無參數(shù)構(gòu)造器
- ?? public ?class5()?{
- ??}
- ?? //?帶字符串參數(shù)的構(gòu)造器
- ?? public ?class5(String?name)?{
- ??}
- ?? //?帶整形數(shù)字參數(shù)的構(gòu)造器
- ?? public ?class5( int ?age)?{
- ??}
- ?? //?帶2個參數(shù)的構(gòu)造器
- ?? public ?class5(String?name,? int ?age)?{
- ??}
- }
測試, 記得每次測試后恢復(fù)現(xiàn)場哦 :
1 如果你已經(jīng)寫了其它的構(gòu)造器,則默認(rèn)的無參數(shù)構(gòu)造器就不存在了,嘗試把
????// new class4(); // 使用無參數(shù)構(gòu)造器失敗
前面的注釋去掉,看看輸出結(jié)果
2 嘗試在一個class4再增加一個字符串為參數(shù)的構(gòu)造器看看
- public ?class4(String?address){
- }
3 嘗試把 public 的構(gòu)造器改成 private 的看看編譯結(jié)果
4 嘗試把 public 的構(gòu)造器,改成默認(rèn)的,也就是沒有修飾符的看看,比如
- class4(String?name){
- }
6 把類挪到另外一個目錄,切按照4改成默認(rèn)的,然后編譯看看
總結(jié):
1 沒有任何構(gòu)造器的類,系統(tǒng)會自動提供一個無參數(shù)的public的構(gòu)造器
2 如果有了任何的構(gòu)造器,系統(tǒng)不再提供

3 構(gòu)造器的參數(shù)類型和個數(shù),順序不能完全相同,這個和參數(shù)的名字沒關(guān)系,只和類型有關(guān)
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
