2013-11-20 53 views
-1

我正在做類的程序。我們必須有2個構造函數。我如何在他們兩個中保持點數?
例如:如果我的測試程序有5個不同的人用2個構造函數創建,我將如何返回創建的人數?
裏面我的兩個構造函數的我已經算++,但它的作用是返回1保持計數內2構造函數

public Archer(String first, String middle, String last) 
    { 
     name = first + " " + middle + " " + last; 
     count++; 
    } 

    public Archer(String first, String last) 
    { 
     name = first + " " + last; 
     count++; 
    } 

我試圖創建另一個實例變量,並有一組以相等計數,但是當我這樣做,它返回0 。

+0

謝謝大家誰回答,我甚至沒有想過讓它靜態 – JessNicole27

回答

1

您的count變量必須是一個類作用域變量,用於實例的工作計數。

爲了做到這一點,只需在你的類中聲明它爲static,並像你在構造函數中那樣繼續增加它。

例如:

public class Archer { 

    static int count; 

    // TODO the rest of the code, and possibly a public getter for the count property 
} 
0

如果你想保持人們的計數類中,你需要做的次數是靜態的。

在一個更真實的情景,你寧願保持人的名單和返回的數量,而且取決於你的任務:-)

0

這一切都取決於你如何定義你的count

如果你已經將它定義爲實例變量,那麼結果count = 1是一個正確的結果,因爲count++將爲每個對象創建執行,count將由您剛剛創建的對象的約束。如果你想知道一個對象創建了多少次,那麼定義count變量爲static