java内部接口和内部类类似,是定义在外部类中的接口或者是定义在外部接口中的内部接口。
package innerInterface;
/**
*
* @author Epmark
* 学习使用内部接口,包括定义在类中的内部接口和在接口中的内部接口
*/
//定义一个外部类,在外部类中定义内部接口
class OuterClass{
//定义一个内部接口
public interface innerInterface{
public void show();
}
//定义一个内部类来实现内部接口
class InnerClass implements innerInterface{
public void show(){
System.out.println("这是用一个内部类实现内部接口");
}
}
//在外部类用一个方法创建内部类
public innerInterface createInn(){
InnerClass ic=new InnerClass();
return ic;
}
}
//定义一个普通类实现内部接口
class common implements OuterClass.innerInterface{
public void show() {
// TODO Auto-generated method stub
System.out.println("这是普通类实现内部接口");
}
}
//定义一个接口,在接口中定义内部接口
interface OuterInterface{
public void show(); // 外部接中口的方法
interface InnerInterface{
public void show();
}
}
//定义实现内部接口的类
class InnerInterfaceClass implements OuterInterface.InnerInterface{
public void show() {
// TODO Auto-generated method stub
System.out.println("这个类实现了外部接口中的内部接口的show方法");
}
}
//定义实现外部接口的类
class OuterInterfaceClass implements OuterInterface{
public void show(){
System.out.println("这是实现了外部接口的show方法");
}
}
public class innerInrerface {
public static void main(String[] args) {
// TODO Auto-generated method stub
//创建外部类
OuterClass oc=new OuterClass();
//用外部类的方法实现内部接口
OuterClass.innerInterface ocii=oc.createInn();
ocii.show();
//用普通类实现一个外部类中的内部接口
OuterClass.innerInterface oi=new common();
oi.show();
//创建实现外部接口的类
OuterInterface oif=new OuterInterfaceClass();
oif.show();
//创建实现外部接口的内部接口的类
OuterInterface.InnerInterface oiin=new InnerInterfaceClass();
oiin.show();
}
}