java如何允许像Map.Entry这样的名称?我以为点是不允许的
如何在此接口名称中允许点,我无法创建另一个名称中带有点的类/接口名称。这是因为java如何允许像Map.Entry这样的名称?我以为点是不允许的,java,hashmap,Java,Hashmap,如何在此接口名称中允许点,我无法创建另一个名称中带有点的类/接口名称。这是因为条目是映射接口中的嵌套接口。如果需要,可以创建类似的内容: class MyClass { static class Nested { } public static void main(String[] args) { MyClass.Nested n = new MyClass.Nested(); } } 或者更直接地回答您的问题: class MyClass { static class
条目
是映射
接口中的嵌套接口。如果需要,可以创建类似的内容:
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 {}
}
}
正如Kevin Esche所评论的,当创建一个内部类时,它的完全限定名将变成
foo.bar.Outer.inner
条目接口在映射接口中声明。这是一个内部接口。因此,为了使用它,我们必须引用Map类,即Map.Entry。,因为它是您正在访问的Map
接口的内部接口。一个用于引用的链接。这里有一个关于它的讨论->@KevinEsche实际上它是一个接口;)@vikingsteve是的,纠正了它的正确性;)啊,这是一个愚蠢的问题……碰巧:)当然它是一个公共接口,否则你不能从另一个类引用它。一个接口的所有成员都自动public
,Map
是一个接口,Entry
是接口Map
的成员,因此它也是public
。