2012-04-29 43 views
2

我只是想知道,因爲我在3班有很多私人最終靜態變量,如果這是一個好主意,把他們在短短的一個CLASSE這樣的:只有「private final static」變量的java類。這是一個好主意嗎?

public class Definicoes 
{ 
    /* 
    * Definições da Janela de Jogo 
    */ 

    public final static String nomeJanela; 
    public final static short janLargura; 
    public final static short janAltura; 
    public final static byte tabLinhas; 
    public final static byte tabColunas; 
    static 
    { 
    nomeJanela = "JFindPairs - 0.3"; 
    janLargura = 480; 
    janAltura = 480; 
    tabLinhas = 4; 
    tabColunas = 4; 
    } 

    /* 
    * Definições do Tabuleiro e respectivas Cartas 
    */ 

    public final static byte numeroCartoes; 
    static 
    { 
     numeroCartoes = 16; 
    } 
} 

預先感謝任何幫助。 Luis Da Costa

+5

您的主題行顯示「private final static」,但示例代碼顯示「public final static」。 –

+0

在原來的課程中,我將它們用作私人的,但在這裏訪問他們在其他課程中,我需要他們作爲公共,這就是爲什麼我問。如果將它們與原始類別分開並將它們公開,這是一個好主意 – aliasbody

+1

幾乎關於術語:關鍵字'final'違反了最常見的單詞'variable'的定義。爲什麼要引入一個靜態塊,並且不要將賦值寫到聲明中:'public final static String nomeJanela =「JFindPairs - 0.3」;?您是否每行都收到付款? –

回答

4

我會把他們放在一個地方,如果他們都必須是相同的。否則,我會保留它們使用的常量。

+0

最後一個靜態變量來自另一個類,這就是它們被分開的原因 – aliasbody

+1

這表明他們不需要全都在一個地方。通常最好是儘量減少類之間的依賴關係。順便說一句:我會用'最後的靜態字節numeroCartoes = 16;' –

+0

會有什麼不同? – aliasbody

1

這就是我該如何做的,如果你需要在某個時間點回來改變它們,那麼將它們全部放在一個地方是有意義的,不希望搜索班級爲1變量:)

1

當他們開始作爲私人,即他們只用於一個班,他們應該呆在那裏。

如果他們需要通過不同的類訪問,可能會隱藏一些概念。這個概念可能表現爲一個只有公共靜態最終變量的類,但更有可能會分裂成多個類(至少那是我的經驗)。不幸的是,現在有辦法瞭解更多關於您的計劃的信息。

1

這樣做是完全有效的,但是它會打破OOP設計的概念來解耦屬於特定類的變量/常量。

相關問題