2.3深入探討函數(shù):

2.3.1構(gòu)造函數(shù)、默認(rèn)構(gòu)造函數(shù)、 缺省構(gòu)造函數(shù)
對(duì)于上面的實(shí)例,它已經(jīng)能完成絕大部分工作了,但它還是不完善的,還有許許多多的細(xì)節(jié)等到我們?nèi)ネ晟疲∫苍S有的同學(xué)已經(jīng)注意 " /> 4虎影视国产在线观看精品 ,男女黄色毛片,日本特级黄色

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

面向?qū)ο缶幊?我的思想(5)


2.3深入探討函數(shù):

2.3.1構(gòu)造函數(shù)、默認(rèn)構(gòu)造函數(shù)、 缺省構(gòu)造函數(shù)
對(duì)于上面的實(shí)例,它已經(jīng)能完成絕大部分工作了,但它還是不完善的,還有許許多多的細(xì)節(jié)等到我們?nèi)ネ晟疲∫苍S有的同學(xué)已經(jīng)注意到了,當(dāng)我創(chuàng)建完“jingwei”這個(gè)對(duì)象時(shí),這個(gè)對(duì)象的所有的屬性都是空的,也就是說:這個(gè)對(duì)象的姓名是未定的、年齡是未定的、性別是未定的、薪水是未定的、午餐也是未定的。而我們想把這些屬性都添加上去,就還要用對(duì)象調(diào)用相應(yīng)的方法,去一個(gè)個(gè)修改!天啊,這簡直是太麻煩了!有沒有什么好方法能夠在我們創(chuàng)建對(duì)象的同時(shí)就完成了對(duì)屬性賦值的操作呢?哦不,應(yīng)該說是對(duì)屬性的初始化呢?當(dāng)然沒問題了,這就需要所謂的構(gòu)造函數(shù)!構(gòu)造函數(shù)是類中最特殊的函數(shù),它與析構(gòu)函數(shù)的功能正好相反!從特征上來說:1.它是編程語言中唯一沒有返回值類型的函數(shù)。2.它的名稱與類的名稱必須要完全相同。3.它必須被聲明為公共(public)的類型4,可以對(duì)構(gòu)造函數(shù)進(jìn)行重載。5.它在創(chuàng)建對(duì)象是自動(dòng)被調(diào)用。從功能上來說:1.它是對(duì)類中的屬性進(jìn)行初始化。其實(shí),對(duì)于上面的程序來說我們沒有自己定義構(gòu)造函數(shù)。但是,在這種情況下,系統(tǒng)會(huì)自動(dòng)為我們定義一個(gè)“默認(rèn)構(gòu)造函數(shù)”。他會(huì)把數(shù)值變量自動(dòng)賦值為0,把布爾行變量賦值為false等等(但在C++中,默認(rèn)構(gòu)造函數(shù)不初始化其成員)。如果程序員定義了構(gòu)造函數(shù),那么系統(tǒng)就不會(huì)再為你的程序添加一個(gè)缺默認(rèn)造函數(shù)了。(在這里,我們提倡的是自己定義構(gòu)造函數(shù),而不是用系統(tǒng)的默認(rèn)構(gòu)造函數(shù))還是看個(gè)實(shí)例吧!這樣比較清楚一些!
//employee.Java

public class employee{

private String name; //員工姓名

private int age; //員工年齡

private char sex; //員工性別

private float emolument; //員工薪水

private boolean lunch; //員工午餐

//……等等

public employee(){ //這個(gè)就是“默認(rèn)”構(gòu)造函數(shù)

name = “jw”; //設(shè)置員工姓名

age = 20; //設(shè)置員工年齡

sex = “M”; //設(shè)置員工性別

emolument = 100; //設(shè)置員工薪水

lunch = false; //設(shè)置員工午餐

}

public void heater(){ //這個(gè)方法是用來加工員工的午餐

lunch = true;

}

//……等等

};這樣,在我們創(chuàng)建“jingwei”這個(gè)對(duì)象的同時(shí),它的所有的屬性也被初始化了!顯然,這大大的提高了工作效率,但是,它還是不符合要求。想想看,如果我們現(xiàn)在創(chuàng)建這個(gè)類型的第二個(gè)對(duì)象的時(shí)候會(huì)發(fā)生什么事情?告訴你,除了對(duì)象的“名”(這個(gè)名稱不在是對(duì)象屬性中的名稱,而是對(duì)象本身的名稱)不一樣外,其所有的“屬性值”都一樣!比如:現(xiàn)在我們創(chuàng)建第二個(gè)對(duì)象flashmagic,然而我會(huì)發(fā)現(xiàn)這個(gè)對(duì)象的所有的屬性和jingwei這個(gè)對(duì)象的所有的屬性完全相同。而我們只能在用對(duì)象的方法去改變著寫屬性了!很顯然,這種方法不大好!我們需要一種方法在創(chuàng)建對(duì)象的時(shí)候?yàn)閷?duì)象的屬性賦予“我們想要的值”。相信你也看到了,默認(rèn)構(gòu)造函數(shù)就顯得無能為力了。我們需要的是帶參數(shù)的構(gòu)造函數(shù),在創(chuàng)建對(duì)象時(shí),我們把參數(shù)傳給構(gòu)造函數(shù),這樣就能完成了上述的功能!口說無憑,還是來看個(gè)實(shí)例吧:
//employee.Java

public class employee{

private String name; //員工姓名

private int age; //員工年齡

private char sex; //員工性別

private float emolument; //員工薪水

private boolean lunch; //員工午餐

//……等等

public employee(String n,int a,char s,float e,boolean l){ //看這個(gè)構(gòu)造函數(shù)

name = n; //設(shè)置員工姓名

age = a; //設(shè)置員工年齡

sex = s; //設(shè)置員工性別

emolument = e; //設(shè)置員工薪水

lunch =l; //設(shè)置員工午餐

}

public void heater(){ //這個(gè)方法是用來加工員工的午餐

lunch = true;

}

//……等等

};這樣一來,在創(chuàng)建對(duì)象的同時(shí)我們就可以給他賦予我們想要的值,很顯然,這可就方便多了。哦,對(duì)了!還沒有告訴你怎么創(chuàng)建呢!哈哈,往前翻幾頁你會(huì)看到這句話:jingwei = new employee();這是創(chuàng)建一個(gè)對(duì)象,而我們把它改成jingwei = new employee("jingwei",20,'M',100,false);這樣一來,所有的工作都完成了,呵呵!(在創(chuàng)建對(duì)象的同時(shí)賦予了我們想要的“初值”)

jsp技術(shù)面向?qū)ο缶幊?我的思想(5),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲精品国产自在久久出水 | 亚洲成人在线免费观看 | 久在线观看 | 久久丝袜精品综合网站 | 日本一区二区三区国产 | 91免费视频网 | 亚洲一区二区三区高清 | 77777网站| 色噜噜狠狠一区二区三区 | 久久狠狠第一麻豆婷婷天天 | 亚洲成a人片在线v观看 | 国产精品视频公开费视频 | 亚洲图片88| 久久青青91费线频观青 | 亚洲视频一 | 一菊综合网成人综合网 | 三级毛片网 | 天天干免费视频 | 欧美精品国产第一区二区 | 国产精品午夜国产小视频 | 色呦呦在线视频 | 久久女人天堂 | 精品精品国产自在久久高清 | 国产区精品福利在线观看精品 | 亚洲国产成人资源在线软件 | 91精品在线看 | 一区二区三区四区国产精品 | 亚洲精品乱码蜜桃久久久 | 国产高清国内精品福利色噜噜 | 国内在线亚洲精品第一线 | 米奇7777狠狠狠狠视频影院 | 欧美性生活网站 | 国产精品第一页第一页 | 国产精品短篇二区 | 福利一区二区在线 | 国产午夜视频 | 久久香蕉综合色一综合色88 | chinese国产一区二区 | 国产一区二区视频免费 | 国产香蕉久久精品综合网 | 色综合88 |