首页 > 技术文章 > 002 为什么接口中可以同时使用public与default 修饰抽象方法?

Scorpicat 2020-01-03 11:30 原文

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是默认写好的,省略任何一个都行。

推荐阅读