抽象类中的抽象方法相当于模板 , 相比于抽象类 ,接口的模板作用更存粹 ,规范性更强 。
接口interface声明,在JDK1.7之前 , 接口中只能有抽象方法(默认修饰符 : public abstract ).
接口不能实例化对象。
通过implements关键字让接口与类产生关系 --- 实现 。 子类实现接口之后, 必须要实现接口中所有的抽象方法
java中类支持单继承、多实现 。
java中接口支持多继承 。
接口的多态 --- 向上造型。 --- 使用接口进行向上造型时 , 由于类与接口之间多实现 , 接口之间多继承 , 这时会形成一张继承关系网 , JVM在网中寻找根节点比较困难 , 所以为了提高效率, jvm会放弃检查声明接口与实现类的关系 。
接口不是类,接口中没有构造函数,所以不能创建对象。
接口中属性的默认修饰符 : public static final
问:
1. 接口中可以定义属性么?
解: 可以
接口中属性默认用public static final 修饰,默认是一个公有的静态常量。
2. 接口中的抽象方法可以使用默认修饰符么?
解: 不可以
接口中属性和方法的权限默认是public ,而且也只能用public
java中支持的是单继承,多实现,一个类只能继承一个类,但 可以实现多个接口。
注意: 接口之间是多继承