使用关键字interface来定义一个接口,接口是一种特殊的引用类型。
interface 接口名{...} (方法没有方法体)
接口体包含常量(无变量)和抽象方法两部分,访问权限皆为public,只有抽象方法,没有普通方法。
实现接口:
一个类可以实现多个接口(用逗号隔开),通过关键字inplements声明。(不同的类可以实现相通同的接口)
eg: class A implements Printable,Addable
class Dog extends Animal implements Printable,Addable(子类实现接口)
如果一个非抽象类实现了某个接口,那么这个类必须重写该接口的所有方法(public 修饰);如果一个类声明实现一个接口,但没有重写接口中的所有方法,那么这个类必须是抽象类。
import java.io. *;不仅引入java.io包中的类,也同时引入了该包中的接口。
理解接口:
接口只关心操作,并不关心操作的具体实现。当不希望某些类通过继承使得它们具有一些相同的方法时,就可以考虑让这些类去实现相同的接口而不是把它们声明为同一个类的子类。
接口回调:
用接口声明的变量称为接口变量。接口回调是指可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中,那么该接口变量就可以调用被类实现的接口方法。
如果某个问题不需要继承,只是需要若干个类给出某些重要的abstract方法的实现洗劫,就可以考虑使用接口。



