JAVA:什么时候类应该是静态的还是动态的

JAVA:什么时候类应该是静态的还是动态的,java,dynamic,static,Java,Dynamic,Static,我有一个类,它基本上解析一个文件并将结果存储在一个hashmap中,这个类应该处理目录中的所有文件(通常我不确定这个类,但是您可以通过公共访问(直接或通过访问器)使这个hashmap保持静态).我不确定该类,但您可以通过公共访问(直接或通过访问器)将此hashmap设置为静态。如果您没有任何理由实例化该类,我相信static修饰符是合适的 另外,根据定义,只有嵌套类可以称为static,当它们被称为static时,您可以使用嵌套类,而无需创建外部类的实例。我认为如果您没有任何理由实例化该类,那么

我有一个类,它基本上解析一个文件并将结果存储在一个hashmap中,这个类应该处理目录中的所有文件(通常我不确定这个类,但是您可以通过公共访问(直接或通过访问器)使这个hashmap保持静态).

我不确定该类,但您可以通过公共访问(直接或通过访问器)将此hashmap设置为静态。

如果您没有任何理由实例化该类,我相信
static
修饰符是合适的


另外,根据定义,只有嵌套类可以称为static,当它们被称为static时,您可以使用嵌套类,而无需创建外部类的实例。

我认为如果您没有任何理由实例化该类,那么
static
修饰符是合适的


另外,根据定义,只有嵌套类可以被称为静态类,当它们被称为静态类时,您可以使用嵌套类,而无需创建外部类的实例。

动态类加载是在编译时不知道类名的情况下完成的。我看不出在特定情况下使用“动态”修饰符的原因。

动态类loa如果在编译时不知道类的名称,则会执行ding。我看不出在特定情况下使用“动态”修饰符的原因。

如果调用解析方法是有意义的,即使没有创建和初始化“对象”,请使用
静态方法

ie:不要使用

Parser p = new Parser();
HashMap result = parser.parse("directory");
当您可以轻松执行以下操作时:

HashMap result = Parser.parse("directory");

如果调用解析方法是有意义的,即使没有创建和初始化“对象”,请使用
静态方法

ie:不要使用

Parser p = new Parser();
HashMap result = parser.parse("directory");
当您可以轻松执行以下操作时:

HashMap result = Parser.parse("directory");

你说的“静态还是动态”是什么意思?一个
可以用
静态
修饰符iff来声明。请显示代码并尝试再次解释您的问题。听起来像是一个非常普通的任务,所以我会选择
静态
,但我准备被知识渊博的Java极客推翻。:dw“静态”或“动态”是什么意思?一个
可以用
静态
修饰符iff来声明。请显示代码并尝试再次解释您的问题。听起来像是一个非常普通的任务,所以我会选择
静态
,但我准备被知识渊博的Java极客推翻。如果t这里并没有实例化该类的理由。静态只是意味着您可以访问一个成员,而不需要该类的实际实例。@ColinD不是您希望其他类从该类继承时使用的关键字
abstract
?是的,它可以用于此目的。您将超类抽象化,这样就不可能使用c创建它的一个实例,强制使用子类。
abstract
是在并没有理由实例化该类时要使用的关键字。Static只是意味着您可以访问一个成员,但该成员并没有该类的实际实例。@ColinD不是当您打算从中继承其他类时使用的关键字。
abstract
类?是的,它可以用于此。您将超类抽象为不可能创建它的实例,从而强制使用子类。