为什么在JAVA接口中使用静态块是非法的?

为什么在JAVA接口中使用静态块是非法的?,java,class,interface,static,Java,Class,Interface,Static,在类内具有静态块是合法的,但在接口内具有静态块是非法的。 请解释原因。您可以使用静态初始化,但不能使用静态块。静态初始化需要一个静态代码块来实现,这一事实确实改变了Java语法 关键是,在Java8之前,您不应该在接口中有代码,但您可以初始化字段

在类内具有静态块是合法的,但在接口内具有静态块是非法的。
请解释原因。

您可以使用静态初始化,但不能使用静态块。静态初始化需要一个静态代码块来实现,这一事实确实改变了Java语法

关键是,在Java8之前,您不应该在接口中有代码,但您可以初始化字段