使用关键字interface来定义一个接口
interface w{
}
1、接口的声明
interface 接口名
2、接口体
接口体中所有的抽象方法的访问权限一定都是public,而且允许省略抽象方法的public和abstract修饰符;接口体中的所以static常量的访问权限一定都是public,而且允许省略public、final和static修饰符,因此接口体中不会有变量
实现接口
1、类实现接口
接口由类来实现,以便使用接口中的方法
关键字implements声明该类实现一个或多个接口,如果实现多个接口,用逗号隔开接口名
eg:
class A implements B,C
class D extends A implements B,C
2、重写接口中的方法
如果一个非abstract类实现了某个接口,那么这个类必须重写该接口的所有abstract方法,即去掉abstract修饰给出方法体
重写时不可忽略public
实现接口的非abstract类一定要重写接口的abstract方法
3、可以使用接口名访问接口的常量、调用接口中的static方法
4、接口的细节说明
- 接口中的方法必须是abstract方法
- 默认 public abstract,不定义变量,定义常量
- 接口默认变量public,static,final
- 默认方法public,abstract
- 如果父类实现了某个接口,那么子类也就自然实现了该接口,子类不必再显示地使用关键字implements声明实现这个接口
- 接口可以被继承,即可以通过关键字extends声明一个接口是另一个接口的子接口