interface 接口
java是单继承,但是借助于接口,可以实现多继承的逻辑。 接口是抽象方法和常量的定义的集合。接口是一种特殊的抽象类,这种抽象类只包含了常量和方法的定义,没有变量和方法的实现。在这样的特殊抽象类中,它所有的方法都是抽象方法,接口中声明的常量默认的是public static final的,写或不写这几个关键字都是以这种方式默认修饰,接口中所有方法默认的是public,所以在接口中声明方法时,不必写关键字public,但是在实现接口时,必须把方法声明为public,否则编译器将认为此方法的访问属性是default的。
接口与实现类之间存在多态性,多个无关的类可以实现同一个接口,同一个类可以实现多个无关的接口。接口与实现类之间存在多态性,意味着,接口变量只能看到自己拥有的属性和方法,但是new出来的是谁的对象,接口对象看到的就是谁的方法实现。实现多个接口时,使用哪个接口变量,就只能调用哪个接口的方法。接口在本质意义上说,就是类。但是语法实现上,用implements。实现了多重继承的逻辑。
每一个接口暴露的是对象的一部分方法;接口和接口之间可以相互继承,类和类之间也可以继承,但是类和接口之间只能实现。接口变量必须引用实现了接口的类对象。