2012-04-29 47 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设计的概念来解耦属于特定类的变量/常量。

相关问题