Java - 常量类设计

时间:2012-03-22 13:07:10

标签: java

我是Android和Android的新手Java编程,但已经在.NET中编程多年。我们最近开发了一个Android应用程序,它现在处于最后阶段,为客户准备(不是通过市场/谷歌播放顺便说一句)。无论如何,在清理代码时。我注意到我们使用了TON的字符串,如果可能的话我想减少它。我已经阅读了一些文章并接受了最终用户可能看到的任何内容的建议,我把它放在strings.xml中(为了更好的本地化,不太确定它们的意思)但我们也使用SQLite表名,列名等,我想知道构建一个类(或一组类)的最佳方法,它允许我们(我的开发人员和我)轻松访问它们。

这就是我开始构建它的方法,但想要了解更好的方法(设计,性能问题等)

public class Constants {

    static enum SQLiteTableNames { Issues, Activities }

    static class SQLiteTables {
        static class Issues {           
            static class ColumnNames {
                static String ID = "_id";
                static String DateReceived = "DateReceived";
            }
        }

        static class IssueActivites {           
            static class ColumnNames {
                static String ID = "_id";
                static String IssueID = "IssueID";
                static String ActivityDate = "ActivityDate";
                static String ActivityType = "ActivityType";
                static String FullName = "FullName";
                static String Notes = "Notes";
            }
        }
    }
}

这允许我们像这样引用列名:

Constants.SQLiteTables.IssueActivites.ColumnNames.ActivityDate;

我应该在属性上使用final static而不仅仅是static吗?

1 个答案:

答案 0 :(得分:6)

常量应为static final。这确实具有性能优势,因为它允许编译值。它也是好的风格。

顺便说一句,惯例是在ALL_CAPS中添加常量名称。