您在這裡

執行

摘要:要執行一個方法,從物件功能表中選擇它。

現在你已經建立了一個物件,你可以執行它的 public 行為 (Java稱這種行為methods)。用右鍵單擊剛剛所建立的物件圖示,就會彈出一個包含物件操作的功能表(如圖5所示)。這個功能表顯示了該物件所有可執行的方法和兩個 BlueJ 環境提供的操作功能(分別是 Inspect 和 Remove ),我們會在後面討論這些功能。現在,讓我們集中注意力在方法上。

2011-01-14_155704

你可以看到功能表裏有兩個方法 getRoom 和 setRoom,分別是設定和傳回這個
教職員的房間編號。試著呼叫 getRoom,只要簡單的從物件功能表裏選擇它,它就會被
執行,此時一個對話方塊會顯示出呼叫的結果(如圖6所示)。在這個範例中,執行
的結果是“(unknown room)”,這是因爲我們還沒有爲這個教職員指定房間編號。

2011-01-14_161250

從父類別繼承而來的方法我們可以在子功能表中找到,在物件彈出功能表的最上方有兩個子功能表,一個包含從 Object 繼承而來的方法,另一個包含從 Person繼承而來的方法(如圖5),你可以透過選擇 Person 子功能表中的函數名稱來呼叫Person 的方法(例如 getName),試試看,你會發現執行結果同樣的奇怪:它出現了“(unknown name)”,這是因爲我們也還沒有給這個人取一個名字。
現在讓我們試著來指定一個房間號碼,以下的操作將顯示如何呼叫有參數的方法(呼叫 getRoom 和 getName 有傳回值,但呼叫時不需參數),選擇功能表中的 setRoom 功能,一個對話方塊會出現提示你輸入參數(如圖7所示)。

2011-01-14_163403

在這個對話方塊的最上端顯示的是被呼叫方法的介面說明(包括註解和語法定義),下面是一個輸入方塊,你可以在裡面輸入參數值,對話方塊中的定義告訴我們需要一個字串類型的參數,接著在輸入方塊裡輸入新的字串類型的房間名字(須包括雙引號),然後點擊 OK。
以上作業到此為止-由於這個方法沒有返回值,所以沒有執行結果對話方塊。現在再一次呼叫 getName 來檢查房間名字是否真的改變了。
你可以開始對物件的建立和方法呼叫稍加練習一下,然後試著呼叫有參數的建構函數和更多的方法直到你對這些操作熟悉爲止。