要使用對象,就要先構造對象,并指定其初始狀態,然后對對象應用方法 在java程序設計語言中,使用構造器(constructor)構造新實例,構造器是一種特殊的方法,用來構造并初始化對象。
補充:可能大家會很奇怪,為什么java使用類描述時間,而不是像其他語言那樣使用一個內置的函數呢?在vb中就有一個內置的類型,我們可以采用 月/日/年 格式的指定日期,從表面上看這很方便,我們不用再去設計類了,但是, 實際上,它的適應性比較差,有的地方會用 日/月/年 來表示。如果處理不好,語言就會陷入混亂,很是麻煩,但是我們使用類,就把設計的任務交給了類庫的設計者,如果類設計的不完善,我們其他的開發人員也很容易的去編寫自己的類,以增強或替代系統提供的類。這樣靈活性就大大的加強啦
構造器的名字應該與類同名,因此Date類的構造器名為Date,要想構造一個Date對象,需要在構造器前面加上new操作符,如下所示: new Date() 這個表達式構造了一個新對象。這個對象初始化為當前的日期和時間。 如果需要的話,也可以將這個對象傳遞給一個方法,比如輸出: System.out.PRintln(new Date()); 相反的也可以將一個方法應用于剛剛創建的對象上。Date類中有一個toString方法,這個方法返回日期的字符串描述 String s=new Date().toString(); 在這兩個例子匯總,構造對象僅使用一次。通常,希望構造的對象可以多次使用,因此需要將對象存放在一個變量中,這就是新構造的對象變量date Date date=new Date();
在對象和對象變量之間存在著一個重要的區別。 Date deadline; 定義了一個對象變量deadline,他可以引用Date類型的對象。但是一定要意識到:變量deadline不是一個對象,實際上也沒有引用對象。此時,不能將任何Date方法應用于這個變量上。語句 s=deadline.toString(); 將產生編譯錯誤 必須首先初始化變量deadline,有兩種方法,可以用心構造的對象初始化這個變量 deadline=new Date(); 另一個就是也讓這個變量引用已存在的對象: deadline=date; 現在這兩個變量引用同一個對象、 一定要認識到: 一個對象變量并沒與實際包含一個對象,而僅僅是引用一個對象。 在java中,任何對象變量的值都是對存儲在另一個地方的一個對象的引用。new操作符的返回值也是一個引用。 所有的java對象都存儲在堆中,當一個對象包含另一個對象變量時,這個變量依然包含著指向另一個堆對象的指針
新聞熱點
疑難解答