关于static在class文件报错的问题

小弟java入门,在创建一个class.java里用了static修饰class,报错modifier static not allowed here。

但是我在主文件里却可以用static修饰class,这是为什么?

类的名字不要和关键字重名,不要用 class.java
可以用
class1.java

public static class class1

静态类一般作为内部类使用
https://www.cnblogs.com/xf-686/archive/2019/06/27/11098274.html

一个类在虚拟机启动时候就可以被加载,但是如内部类这样的类就不会,通常需要通过外部类调用才行,如果想直接使用内部内,这时候可以声明为static的:

// 外部类不能再用static修饰
class A {

    private int count = 0;
    // 这样修饰之后可以使用直接new获取该对象,而不需要通过外部对象
    static class Inner{

    }

}

可以看看我这static用法详解的文章:

有关static的用法总结详解:https://blog.csdn.net/u012011079/article/details/115799789
(欢迎各位大佬斧正,里面包含了设计过程的static、面向对象的static、类模板含有static的解析)