接口体包含常量的声明和抽象方法两部分(没有变量和普通方法)
接口常量访问一定是public,且一定是static常量。所有的抽象方法都是public。
类实现接口时:一定要用public修饰,否则就是降低了访问权限,这个问题在上一章讲过,关于访问权限的问题。子类在重写父类方法时,不允许降低方法的访问权限。
抽象类可以不重写接口的方法而是直接拥有接口的方法。
如果父类实现了某个接口,那么子类也就自然实现了该接口,子类不需要再使用关键字implements声明实现此接口。
一个类可以有多个接口,却只能继承一个抽象类。
接口回调:把实现某一接口的类创建的对象的引用赋值给该接口声明的接口变量,那么该接口变量就可以调用被类实现的接口方法。
接口:
1.接口可以抽象出重要的行为标准,该行为标准用抽象方法来表示。
2.可以把实现接口的类的对象的引用赋值给接口变量,该变量可以调用被该类实现的接口方法,即体现该类根据接口里的行为标准给出的具体行为。
接口与抽象类的比较:
1.抽象类和接口都可以有abstract方法。
2.接口中只可以有常量,而抽象类可以有变量。
3.抽象类也可以有非abstract方法。