我有一个基本上解析文件并将结果存储在 hashmap 中的类,这个类应该处理目录中的所有文件(通常 <10 个文件)。该过程是线性的,具有单个线程。
为了最佳实践,它应该是静态类还是动态类?
如果即使没有创建和初始化“对象”,调用解析方法也有意义,请使用static
方法
即:不要使用
Parser p = new Parser();
HashMap result = parser.parse("directory");
当您可以轻松地执行以下操作时:
HashMap result = Parser.parse("directory");
static
如果您没有任何理由实例化该类,我相信该修饰符是合适的。
此外,根据这个问题, 只有嵌套类可以称为静态,当它们是时,您可以使用嵌套类而不创建外部类的实例。
当在编译时不知道类的名称时,会完成动态类加载。我看不出在您的特定情况下使用“动态”修饰符的理由。
我不确定这个类,但你可以通过公共访问(直接或通过访问器)使这个哈希图成为静态的。