java接口中的方法为什么不是static就报错?

public interface Printable { void printItMyWay() { }}
2025-05-13 15:11:46
推荐回答(4个)
回答1:

Java8给出了接口新特性,接口中的方法可以用static和default修饰,用这两个关键词修饰的方法可以有具体实现,实现该接口的类可以不重写该方法,类似于继承。而没有用这两个关键词修饰的方法则默认是public abstract的。至于某些书上说的,接口内的方法必须是public abstract的,基本上都是以前的老版本(Java8以下),已经跟不上现在的节奏了。

回答2:

接口中所有的方法都是抽象方法,不能有实现,如果要给出实现,必须将方法声明为static或default。

回答3:

常量属性,方法必须是抽象的。由实现这个接口的具体子类来实现。总之,接口里面如果有属性必须定义成常量,方法必须是abstract修饰

回答4:

用了{}。就不是抽象方法了。理解什么是抽象方法,什么是空方法吗。