此接口名称中的点是如何允许的,我无法创建名称中带有点的另一个类/接口名称。
答案 0 :(得分:5)
因为Entry
是Map
界面中的嵌套界面。如果需要,您可以创建类似的东西:
class MyClass {
static class Nested { }
public static void main(String[] args) {
MyClass.Nested n = new MyClass.Nested();
}
}
或者更直接地回答您的问题:
class MyClass {
static class MyEntry implements Map.Entry { }
public static void main(String[] args) {
Map.Entry n = new MyEntry();
}
interface Map {
interface Entry {}
}
}
答案 1 :(得分:1)
正如Kevin Esche评论的那样,在创建内部类时,它的完全限定名称将变为foo.bar.Outer.Inner
。
答案 2 :(得分:1)
Entry接口在Map接口中声明。它是一个内部接口。因此,为了使用它,我们必须引用Map类,因此引用Map.Entry。