晚上写连连看排行榜的时候,查看SharedPreferences源码时发现了一个惊天的秘密。
为什么一个接口中可以再定义接口呢?
后来自己网上查找了下资料,然后自己操作了一遍。这个内部类真好用,推荐大家开发中可以用。具体来说,就是你只实现了外部接口,那么就必须实现外部接口的所有方法;而要用内部的接口的方法只能实现内部接口。
直接将步骤吧:
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
}
}
4、看完了自己动手操作遍熟悉下吧!