1.什么是内部接口
内部接口也称为嵌套接口,即在一个接口内部定义另一个接口。举个例子,Entry接口定义在Map接口里面,如下代码:
public interface Map {
interface Entry{
int getKey();
}
void clear();
}
2.为什么要使用内部接口
如下是一些强有力的理由:
一种对那些在同一个地方使用的接口进行逻辑上分组;
封装思想的体现;
嵌套接口可以增强代码的易读性和可维护性;
在Java标准库中使用内部接口的一个例子是java.util.Map和Java.util.Map.Entry。这里java.util.Map同样被当成命名空间使用。Entry并不属于全局作用域范围.
3.内部接口如何工作
还是使用Map和Entry的例子:
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;//它和上面其实是在一个文件中,但是Entry不是全局作用域,需要导进来,或者这样使用:Map.Entry
public class Maptest01 {
public static void main(String[] args) {
Map<String, Double> mMap = new HashMap<String, Double>();
mMap.put("Banana", 3.0);
mMap.put("Apple", 5.5);
mMap.put("Pears", 2.6);
System.out.println(" Today‘s fruit price is :");
System.out.println("name " + "price");
/*遍历整个Map*/
for(Entry<String, Double> entry : mMap.entrySet()){
System.out.printf("%-8s",entry.getKey() + ":" + entry.getValue() + "\n");
}
}
}