點擊查看:2015計算機等級考試二級Java入門教程章節(jié)匯總
點擊查看:2015計算機等級考試二級Java入門教程第五章匯總
5.4 構造函數(shù)
當你建立一個類對象時,總要調(diào)用一個被稱作構造函(ConStructor)的特殊方法。如果你沒有為類定義構造函數(shù),編譯器將在類中提供一個沒有任何操作的默認構造函數(shù)。構造函數(shù)的主要目的是提供一種方法,對正在建立的對象的實例變量單獨進行初始化。如果你正在用名字John Dae建立一個person對象,并希望能夠初始化成員,讓它保存這個人的名字"john Doe".很清楚,這就是構造函數(shù)能夠完成的操作。在類中,已經(jīng)定義的初始化塊總是在構造函數(shù)之前被執(zhí)行。
構造函數(shù)有兩個特別的性質(zhì)不同于其他的類方法:
·構造函數(shù)永遠沒有返回值,你也決不能為它指定返回類型,甚至是void類型
·構造函數(shù)的名字永遠與類名相同
讓我們來看一個例子,為Sphere類定義增加一個構造函數(shù):
Class sphere
{
Static final double PI=3.14; //class variable that has fixed value
Static int count=0 //class variable to count objects
//Instance variables
Double radius; //Radius of a sphere
Double xCenter //3D coordinates
Double yCenter //of the center
Double zcenter //of a sphere
//class constructor
sphere(double x,double y,double z)
(
radius-cheRadius; //set the radius
}
//Set the coordinates of the center
xCenter=x;
yCenter=y;
zCenter=z;
++count; //Update object count
//static method to report the number of objects created
Static int getCount()
{
Return count; //Return current object count
}
//Instance method to calculate volume
Double volume()
{
Return 4.0/3.0*PI*radius*radius*radius;
}
}
構造函數(shù)的定義在以上代碼中的陰影部分。我們正在逐步積累更多的代碼來定義Sphere類,然而,你會發(fā)現(xiàn)我們己經(jīng)集中在一起的代碼段都十分明了清楚。
正像你看到的那樣,構造函數(shù)名與類名相同,并且沒有指定返回類型。一個構造函數(shù)可以擁有任意多個參數(shù),也可以沒有參數(shù)。在我們的例子中有四個參數(shù),并且每個實例變量都用相應的參數(shù)值進行初始化。有這樣一種情況,我們可能己經(jīng)在參數(shù)中使用了radius這個名字,那么,當我們要引用同名的實例變量時,就需要借助于關鍵字this來實現(xiàn)。構造函數(shù)的最后一項操作是為類變量遞增1,使得count來累計已經(jīng)建立的對象數(shù)目。
相關推薦:
2015計算機等級考試二級Java入門教程章節(jié)匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |