接口其实就是一个特殊的抽象类,当抽象类中的方法都是抽象的那么该类可以通过接口的形式来表示。使用interface来定义。
接口中的成员的都有固定的修饰符,常量:public static final; 方法:public abstract;
接口中的成员都是public 的。在接口中用implements 来实现,接口是不可以创建对象的,因为有抽象的方法需要被子类实现,子类对接口中的抽象方法全部覆盖后
子类才可以实例化,否则子类是一个抽象类。
接口的特点:
接口是对外暴露的规则。
接口是程序的功能扩展。
接口是可以用来多实现。
接口与接口之间可以有继承关系。
类与接口是实现关系,而且类可以继承一个类的同时实现多个接口。
接口中的方法重写:
如果一个非抽象类实现了某个接口,那么这个类必须重写这个接口中的所有方法,在类重写接口方法时要去掉abstract修饰符,给出方法体,
而且方法的访问权限一定要明确地用public来修饰,否则就降低了访问权限,在非抽象类实现该接口的方法时就给出了方法的具体行为功能。、
如果一个类声明实现一个接口,但没有重写接口中的所有方法,那么这个类必须是抽象类,也就是说抽象类可以重写接口中的方法也可以直接拥有接口中的方法。
接口属于引用型变量,接口中可以存放实现该接口的类的实例引用,即存放对象的引用。