为什么Java中没有静态类

Lol*_*lly 3 java

我是java的新手.当我通过语言规范时,我发现无法声明静态类,但我们可以拥有静态内部类.我有点困惑为什么我们不能拥有顶级静态类.如果我想创建一个只包含实用程序方法的类,我可以去静态类.Java开发人员限制此功能的原因是什么?

and*_*ndy 7

根据定义,顶级类已经是顶级类,因此将它声明为静态没有意义; 这样做是错误的.

静态类声明


iTe*_*ech 6

这不是一个限制,你就不会需要static class定义一个实用工具类,你只需要static methods.例如Math,java中的类充满了静态方法,但类本身并不是静态的.

在定义inner class要使用的类时,可能只需要静态类,而不创建封闭类的实例,这在Java中是允许的.

您可以按如下方式定义实用程序类:

class Util {
  public static void method(){
     // your utility method
  }
}
Run Code Online (Sandbox Code Playgroud)