002 为什么接口中可以同时使用public与default 修饰抽象方法?

interface A{
//默认方法:为啥有两个修饰符也没问题
public default void doSome() {

}
default void doAnotherThing() {

}
public static void hello() {

}
//抽象方法的几种表示
void sayHi();
public abstract void sayHi1();
public void sayHi3();
public void sayHi2();

abstract void syaHi4();
}

另外

这样记抽象方法可以用的关键字:

static 如果使用,则该方法必须有方法体,也就不再是抽象方法。static嘛,程序运行就加载的,所以要有方法体。

final 只可用在属性上,不可用在抽象方法中,因为被final修饰的方法不可重写。而抽象方法就是用来重写的

public abstract是默认写好的,省略任何一个都行。

原文地址:https://www.cnblogs.com/Scorpicat/p/12144048.html