华南俳烁实业有限公司

考試首頁 | 考試用書 | 培訓(xùn)課程 | 模擬考場 | 考試論壇  
全國  |             |          |          |          |          |         
  當(dāng)前位置:計算機等級 > 二級考試 > Java語言程序設(shè)計 > 考試輔導(dǎo) > 文章內(nèi)容
  

計算機二級JAVA考點解析:Java的類

中華IT學(xué)院   【 】  [ 2017年9月5日 ]

  5.8構(gòu)造函數(shù)(Constructor)

  每創(chuàng)建一個類的實例都去初始化它的所有變量是乏味的。如果一個對象在被創(chuàng)建時就完成了所有的初始工作,將是簡單的和簡潔的。因此,Java在類里提?copy了一個特殊的成員函數(shù),叫做構(gòu)造函數(shù)(Constructor?copy;。一個構(gòu)造函數(shù)是對象被創(chuàng)建時初始對象的成員函數(shù)。它具有和它所在的類完全一樣的名字。一?copy;定義好一個構(gòu)造函數(shù),創(chuàng)建對象時就會自動調(diào)用它。構(gòu)造函數(shù)沒有返回類型,即使是void類型也沒有。這是因為一個類的構(gòu)造函數(shù)的返回值的類型就是這個類本身。構(gòu)造函數(shù)的任務(wù)是初始一個對象的內(nèi)部狀態(tài),所以用new操作符創(chuàng)建一個實例后,立刻就會得到一個清楚、可用的對象。下面這個例子里,用構(gòu)造函數(shù)取代了成員函數(shù)init。

  classUniversity{Stringname,city;University(Stringname,Stringcity)

  {this.name=name;this.city=city;}}classUniversityCreate{publicstaticvoidmain(Stringargs[]){Universityu=newUniversity(\"北?copy;大學(xué)\",\"北?copy;\");System.out.println(\"大學(xué):\"+u.name+\"城市:\"+u.city);}}new語句中類名后的參數(shù)是傳給構(gòu)造函數(shù)的。

  5.9成員函數(shù)重載

  對于幾個意義相近的成員函數(shù),有時使用相同的名字便于理解。因此,Java語言實現(xiàn)了成員函數(shù)重載,即可以創(chuàng)建幾個名字相同、參數(shù)不同的成員函數(shù)。成員函數(shù)重載提?copy;了Java的多態(tài)行為。下面的例子用到了重載。classUniversity{Stringname,city;University(Stringname,Stringcity){this.name=name;this.city=city;}University(){name=\"北?copy;大學(xué)\";city=\"北?copy;\";}}

  classUniversityCreateAlt{publicstaticvoidmain(Stringargs[]){Universityu=newUniversity();System.out.println(\"大學(xué):\"+u.name+\"城市:\"+u.city);}}

  這個例子創(chuàng)建了一個University對象,調(diào)用了第二個構(gòu)造函數(shù)。下面是它的運行結(jié)果。

  C:\\>javaUniversityCreateAlt大學(xué):北?copy;大學(xué)城市:北?copy;一個構(gòu)造函數(shù)可以調(diào)用另一個構(gòu)造函數(shù)來創(chuàng)建實例。例如:

  classUniversity{Stringname,city;University(Stringname,Stringcity)

  {this.name=name;this.city=city;}University(){this(\"北?copy;大學(xué)\",\"北?copy;\");}}

  第二個構(gòu)造函數(shù)調(diào)用了第一個構(gòu)造函數(shù)來完成實例的初始化。你也可以用重載來創(chuàng)建一般的成員函數(shù)。下面這個例子里有University類的兩個版本的samecity成員函數(shù)。samecity判斷一個大學(xué)是否在一個城市里或一個大學(xué)和另一個大學(xué)是否在同一個城市里。一個成員函數(shù)用city作參數(shù),另一個用University對象作參數(shù)。

  classUniversity{Stringname,city;University(Stringname,Stringcity)

  {this.name=name;this.city=city;}booleansamecity(Stringcity){if

  (city.equals(this.city))returntrue;elsereturnfalse;}boolean

  samecity(Universityu){returnsamecity(u.city);}}

  classUniversityCity{publicstaticvoidmain(Stringargs[]){String

  city=\"上海\";Universityu1=newUniversity(\"北?copy;大學(xué)\",\"

  北?copy;\");Universityu2=newUniversity(\"清華大學(xué)\",\"北?copy;\");

  System.out.println(\"u1=\"+u1.name+\",\"+u1.city);

  System.out.println(\"u2=\"+u2.name+\",\"+u2.city);

  System.out.println(\"city=\"+city);

  System.out.println(\"u1.samecity(u2)=\"+u1.samecity(u2));

  System.out.println(\"u1.samecity(city)=\"+u1.samecity(city));}}

  下面是該程序的運行結(jié)果。

  C:\\>javaUniversityCityu1=北?copy;大學(xué),北?copy;u2=清華大學(xué),北?copy;city=上海u1.samecity(u2)=trueu1.samecity(city)=false

分享到:
本文糾錯】【告訴好友】【打印此文】【返回頂部
將考試網(wǎng)添加到收藏夾 | 每次上網(wǎng)自動訪問考試網(wǎng) | 復(fù)制本頁地址,傳給QQ/MSN上的好友 | 申請鏈接 | 意見留言 TOP
關(guān)于本站  網(wǎng)站聲明  廣告服務(wù)  聯(lián)系方式  站內(nèi)導(dǎo)航  考試論壇
Copyright © 2006-2017 中華考試網(wǎng)(Examw.com) All Rights Reserved  營業(yè)執(zhí)照
桃园县| 大连市| 通州区| 恭城| 自贡市| 安阳市| 陵水| 石城县| 唐山市| 长沙市| 汉阴县| 白玉县| 贵州省| 同江市| 南岸区| 北川| 如皋市| 荔浦县| 信宜市| 楚雄市| 定西市| 恭城| 四会市| 连城县| 韶关市| 湖北省| 大城县| 墨竹工卡县| 拉萨市| 施甸县| 榆树市| 河西区| 天等县| 中西区| 淮北市| 铜川市| 滦平县| 双鸭山市| 林甸县| 宁武县| 虎林市|