什么是内部接口?
内部接口也称为嵌套接口,即在一个接口内部定义另一个接口。举个例子,Entry接口定义在Map接口里面
public interface Map {
interface Entry{
int getKey();
}
void clear();
}
为什么一个接口中可以再定义接口呢?
就是你只实现了外部接口,那么就必须实现外部接口的所有方法;而要用内部的接口的方法只能实现内部接口。
1、新建一个Java项目
2、新建接口如下:
public interface OuterInterface {//外部接口
public void showOuter();
public void showOuter(int a);
public interface InnerInterface{//内部接口
public void showInner();
public void showInner(String str);
}
}
3、新建一个非抽象类(普通类)实现接口如下:
/**
*
* 回顾下接口与类的关系:
* 1、普通类实现了接口,那么就必须实现接口中的所有方法
* 2、那么反过来没有实现接口中的方法的类就是抽象类
* 3、一个类可以实现多个接口
*
* 这里用内部接口的好处就是:
* 1、当你只实现外部接口,那么只需实现外部接口的方法即可(内部接口是调不到的)。
* 2、而实现内部接口的方式是“外部接口.内部接口”,那么就可以实现内部接口的方法了(看下面的例子)
*
* */
public class TestClass implements OuterInterface,OuterInterface.InnerInterface{
//定义一个测试类实现来实现接口
@Override
public void showOuter() {
// TODO Auto-generated method stub
}
@Override
public void showOuter(int a) {
// TODO Auto-generated method stub
}
/***************************************/
@Override
public void showInner() {
// TODO Auto-generated method stub
}
@Override
public void showInner(String str) {
// TODO Auto-generated method stub
}
}