Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java如何允许像Map.Entry这样的名称?我以为点是不允许的_Java_Hashmap - Fatal编程技术网

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