很多人认为接口中就只能有抽象方法,其实不尽然。
接口中除了抽象方法,还可以有默认方法(default)、静态方法(static)、私有方法(private)。
声明抽象方法的时候可以省略public和abstract,但记得没有方法体。
接口中不能有动态方法。
在实现类implements接口后,必须要实现接口中的抽象方法,另外三种可以不作实现。如果就是不想实现,或者不想完全实现所有抽象方法,必须要把实现类定义成抽象。
1、
抽象方法被重写后,通过实现类的对象调用。用实现类的构造方法创建的接口对象也可以用(重写后的方法)。
2、
默认方法(当然可以重写)也是通过实现类的对象调用。用实现类的构造方法创建的接口对象也可以用(重写后的方法)。
3、
注意!!静态方法不能通过实现类的对象调用,要用必须通过接口名点方法名使用!!
4、
私有方法,听说是用来解决多个默认方法重复的问题。