一、接口的修饰符
对于接口,我们通常的写法是interface A{},不写权限修饰符就意味着是友好型,只允许同一个包访问(注意不写权限修饰符就默认为是default,但不能真的去写一个default!default不是修饰符,这一块的知识要搞清楚)也可以写成public interface A{},这样写的话其它包下的类就可以实现这个接口了。
另外,abstract是没必要写的,因为编译的时候系统会自动帮我们加上,这个很好理解,因为接口是抽象类的极端情况,是抽象类的抽象类,是纯纯的抽象类,必然有abstract,所以系统帮我们省事就不要求我们写了。如果非要写上abstract,如下
在idea中这么写,idea会把abstract标成灰色,提示我们可以不写abstract
二、接口中常量的修饰符
接口中只有常量,没有变量,写的时候可以只写int a=10; 因为在编译的时候Java
会自动帮我们加上public static final,所以别看只写了个int a=10;其实前面藏着三个修饰符,所以要定义变量的时候必须赋值,完全写出来如下,灰色部分是提示我们可以不写
三、接口中抽象方法的修饰符
void song();接口中的方法一般都这么写,其实是省略了public abstract,完全写出来如下,灰色部分是提示我们可以不写
四、其他方法的修饰符
java8以后,接口中可以使用default或static修饰的方法
1.接口中default修饰的方法
写为
标灰代表可以省略,这种方法可以被看作一般的实例方法,需要创建对象调用,实现类也可以重写default修饰的方法
2.接口中static修饰的方法
写为
灰色部分可以省略不写,这是静态方法,可以用接口名直接调用