为什么要用接口
java是单继承语言,如果子类中会用到来自不同父类的抽象方法,使用继承无法满足
这种情况下需要采用接口的方式来实现一个多继承,一个接口代表一种能力或标准,继承多个接口就具有了多个能力
接口的特点和优势
接口是集成体系之外的,用于功能扩展
接口的成员默认都是public,不需要写访问修饰符
接口没有构造方法,不能被实例化,接口不可以继承类,因为类一定有构造方法!!
实现接口的类,必须实现接口的全部方法
类只能有一个父类,这是java的单继承,但是可以同时实现多个接口,这是java中的多继承
接口使用inplements关键字实现,继承使用extends实现
接口可以继承接口,并且一个接口可以同时继承多个接口
类和类之间是继承关系,存在is-a的关系,但是类和接口之间是实现关系,接口和接口之间的关系,可以是继承关系
接口中只能出现3种成员
1.公共的静态常量(public final static )
2.公共的抽象方法(public abstract ) 只能是public,!!!!
3.静态内部类(static class)
接口是一种特殊的抽象类,接口中的方法全部是抽象方法(所以其前的abstract可以省略),又因为抽象类中的抽象方法不能用的访问修饰符,所以这里也不能用。而且protected访问修饰符也不能使用,因为接口可以让所有的类去实现(非继承),不只是其子类,但是要用public去修饰。接口可以去继承一个已有的接口。
一个接口可以继承多个接口,例如:interface m extends intercls1,intercls2{}
一个类可以实现多个接口,这是java的多继承
一个类只能继承一个类,这就是JAVA的继承特点-单继承
接口不能继承类,因为类中一定有构造方法,而接口中不能有构造方法,接口不能被实例化