与类的相似处:
一个接口可以有多个方法
接口文件保存在 .java结尾的文件中
接口的字节码文件保存在 .class 结尾的文件中。
接口相应的字节码文件必须在与包名称相匹配的目录结构中。
接口与类的区别
接口不能实例化
接口没有构造方法
接口中所有的方法必须是抽象方法
接口不能包含成员变量,除了 static 和 final 变量
接口不是被类继承了,而是要被类实现。
接口支持多继承。
类不可以多继承的原因:因为假如继承自两个父类的话有同名方法不知道该用哪个实现
原因:接口都是抽象的,他下面的方法也必须全部是抽象方法,没有任何的具体实现,即使继承的两个父接口包含同样的方法也没有任何影响
接口的特点
接口中每一个方法都是隐式抽象的,会被隐式的指定为 public abstract
接口中是含有变量的,打包接口中的变量会被隐式指定为 public static final 变量
接口中的方法是不能再接口中实现的,只能由实现接口的类来实现接口中的方法
当类实现接口的时候类要实现接口里的所有方法(用implements)
-
类在实现接口的方法时,不能抛出强制性异常,只能在接口中,或者继承接口的抽象类中抛出该强制性异常。
-
类再重写方法的时候要保持一致的方法名并保持相同或者兼容的返回值类型
-
如果实现接口的类是抽象类,那么就没必要实现该接口的方法。