您在這裡

建立物件

摘要:要建立一個物件,就從類別功能表中選擇一個建構函數。
BlueJ 有一個很基本的特點就是你不僅能夠執行一個完整的應用程式,而且也能夠直接和單獨一個任何類別的物件互動溝通,並執行物件裡的 public 方法。在 BlueJ中的可執行檔案通常需要事先建立物件,然後呼叫其中一個物件的方法來完成。這種模式在開發一個應用軟體的過程中是十分有幫助的-當你一寫完某個類別時,你就可以單獨測試這個已經完成的類別,這樣就沒有必要一開始就把整個應用程式寫完。
註解:靜態方法不需事先建立一個物件就能夠直接執行,main()是一個靜態方法,
因此我們可以做和 Java 應用程式中相同的事情-透過執行靜態方法 main()的方
式啓動一個應用程式。我們會在後面繼續討論。現在,我們來做一些不能在一般的
Java 環境中所做到的有趣事情。

你可以在下列視窗裡看到幾個圖示(分別標註了 Database 、 Person、 Staff 和Student),這些圖示是代表了能夠在這個應用程式中所能用到的類別。在類別的圖示上按滑鼠右鍵,你會得到一個能夠操作該類別的一個功能表 (Macintosh: ctrl-click1)(如圖2所示)(註:先按滑鼠右鍵,再按Compile)。圖中顯示的操作功能是由 BlueJ 作業環境所提供,並以 new 功能搭配類別中定義的各個建構函數所組成。

2010-11-15_145836

例如我們現在希望建立一個 Staff 物件,所以你應該右鍵單擊 Staff 圖示(會
彈出如圖2中顯示的功能表),這個功能表會顯示了兩個建構函數可以用來建立 Staff
物件:一個有參數,另一個則沒有。在此,先選擇沒有參數的建構函數,對話方塊
將會如圖3所示: 2010-11-15_160831

這個對話方塊要求你輸入一個物件的名字,同時它提供了一個預設的名字
(staff_1)。如果這個預設的名字對我們來說已經足夠了,就按 OK,一個 Staff 物
件就建立完成了。

當一個物件建立完成後,它會被放在視窗底部的物件工作區裏(如圖4)。

2011-01-14_160617

你可能已經注意到 Person 類別被標註爲 <<abstract>>,這表示他是一個抽象類
別,如果你試著從 Person 類別建立物件的話,你將會發現這是不可能的,因為你
不能夠建立一個抽象類別的物件,這就如同 Java 語言定義的規則一樣。