接口和类一样,也是Java语言中一种重要的数据类型,用接口声明的变量称作接口变量,那么接口变量中可以存放什么样的数据呢?
首先,接口属于引用型变量,接口变量中可以存放实现该接口的类的实例的引用,即存放对象的引用。
例如:假设Com是一个接口,那么就可以用Com声明一个变量。
Comcom;
因为com变量中还没有存放实现该接口的对象的引用,所以称此时的com是一个空接口。
假设ImpleCom类是实现Com接口的类,用ImpleCom创建名字为object的对象,那么object对象不仅可以调用ImpleCom类中原有的方法,而且也可以调用ImpleCom类实现的接口方法。
ImpleComobject=newImpleCom();
“接口回调”一词的来源:
该词借用了C语言中指针回调的术语,表示一个变量的地址在某一个时刻存放在一个指针变量中,那么指针变量就可以间接操作该变量中存放的数据。
在Java语言中,接口回调是指可以把实现某一接口的类创建的对象的引用赋值给该接口声明的接口变量,那么该接口变量就可以调用被类实现的接口方法,实际上,当接口变量调用被类实现的接口方法时,就是通知相应的对象调用这个方法。
注意:接口无法调用类中的其他非接口方法。