要使用對(duì)象,就要先構(gòu)造對(duì)象,并指定其初始狀態(tài),然后對(duì)對(duì)象應(yīng)用方法 在java程序設(shè)計(jì)語言中,使用構(gòu)造器(constructor)構(gòu)造新實(shí)例,構(gòu)造器是一種特殊的方法,用來構(gòu)造并初始化對(duì)象。
補(bǔ)充:可能大家會(huì)很奇怪,為什么java使用類描述時(shí)間,而不是像其他語言那樣使用一個(gè)內(nèi)置的函數(shù)呢?在vb中就有一個(gè)內(nèi)置的類型,我們可以采用 月/日/年 格式的指定日期,從表面上看這很方便,我們不用再去設(shè)計(jì)類了,但是, 實(shí)際上,它的適應(yīng)性比較差,有的地方會(huì)用 日/月/年 來表示。如果處理不好,語言就會(huì)陷入混亂,很是麻煩,但是我們使用類,就把設(shè)計(jì)的任務(wù)交給了類庫的設(shè)計(jì)者,如果類設(shè)計(jì)的不完善,我們其他的開發(fā)人員也很容易的去編寫自己的類,以增強(qiáng)或替代系統(tǒng)提供的類。這樣靈活性就大大的加強(qiáng)啦
構(gòu)造器的名字應(yīng)該與類同名,因此Date類的構(gòu)造器名為Date,要想構(gòu)造一個(gè)Date對(duì)象,需要在構(gòu)造器前面加上new操作符,如下所示: new Date() 這個(gè)表達(dá)式構(gòu)造了一個(gè)新對(duì)象。這個(gè)對(duì)象初始化為當(dāng)前的日期和時(shí)間。 如果需要的話,也可以將這個(gè)對(duì)象傳遞給一個(gè)方法,比如輸出: System.out.PRintln(new Date()); 相反的也可以將一個(gè)方法應(yīng)用于剛剛創(chuàng)建的對(duì)象上。Date類中有一個(gè)toString方法,這個(gè)方法返回日期的字符串描述 String s=new Date().toString(); 在這兩個(gè)例子匯總,構(gòu)造對(duì)象僅使用一次。通常,希望構(gòu)造的對(duì)象可以多次使用,因此需要將對(duì)象存放在一個(gè)變量中,這就是新構(gòu)造的對(duì)象變量date Date date=new Date();

在對(duì)象和對(duì)象變量之間存在著一個(gè)重要的區(qū)別。 Date deadline; 定義了一個(gè)對(duì)象變量deadline,他可以引用Date類型的對(duì)象。但是一定要意識(shí)到:變量deadline不是一個(gè)對(duì)象,實(shí)際上也沒有引用對(duì)象。此時(shí),不能將任何Date方法應(yīng)用于這個(gè)變量上。語句 s=deadline.toString(); 將產(chǎn)生編譯錯(cuò)誤 必須首先初始化變量deadline,有兩種方法,可以用心構(gòu)造的對(duì)象初始化這個(gè)變量 deadline=new Date(); 另一個(gè)就是也讓這個(gè)變量引用已存在的對(duì)象: deadline=date; 現(xiàn)在這兩個(gè)變量引用同一個(gè)對(duì)象、 一定要認(rèn)識(shí)到: 一個(gè)對(duì)象變量并沒與實(shí)際包含一個(gè)對(duì)象,而僅僅是引用一個(gè)對(duì)象。 在java中,任何對(duì)象變量的值都是對(duì)存儲(chǔ)在另一個(gè)地方的一個(gè)對(duì)象的引用。new操作符的返回值也是一個(gè)引用。 所有的java對(duì)象都存儲(chǔ)在堆中,當(dāng)一個(gè)對(duì)象包含另一個(gè)對(duì)象變量時(shí),這個(gè)變量依然包含著指向另一個(gè)堆對(duì)象的指針
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注