一、接口的定义
接口类似于抽象类,也是定义一些抽象方法,通过实现类来实现接口。
接口是一种规范标准,只要符合标准,都可以用。
二、接口的特点
1.接口用关键字interface修饰public interface 接口名{};
2.类实现接口用implements表示public class 类名 implements 接口名 {};
3.接口不能直接实例化和抽象类一样,接口也不能直接实例化,因为定义了抽象方法。因此,只有通过实现类实现接口,重写接口中的所有抽象方法,才能将实现类对象实例化。这叫接口多态;
4.接口的实现类重写接口中的所有抽象方法,能够对象实例化没有重写接口中的所有抽象方法,依然是抽象类。
三、接口的成员特点
1.接口的成员变量接口中的成员变量只能是常量,且默认的修饰符是 public static ;
2.接口的构造方法接口是没有构造方法的,因为接口只是对于行为的抽象,是没有具体的实现的。
3.接口的成员方法接口中的成员方法只能是抽象方法,就算定义了普通方法,也会添加修饰符定义为抽象方法,默认修饰符为:public abstract;
四、类和接口的关系
1.类和类的关系继承关系,只能单继承,但是可以多层继承;
2.类和接口的关系实现关系,可以单实现,也可以多实现,还可以在继承一个类的同时实现多个接口;
3.接口与接口的关系继承关系,可以单继承,也可以多继承
五、抽象类和接口的区别
- 抽象类可以有变量和常量;可以有构造方法;可以有抽象方法,也可以有非抽象方法接口只有常量;没有构造方法;只有抽象方法;
2.设计理念区别 抽象类对类进行抽象,一般是行为和属性。接口对行为进行抽象。