这个接口名称中的点是如何允许的,我不能用名称中的一个点创建另一个类/接口名称。Hows是否允许像Map.Entry这样的名称?我以为一个点不允许
0
A
回答
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
正如凯文Esche评论,创建一个内部类的时候,它是完全合格的名称将成为foo.bar.Outer.Inner
。
1
Entry接口在Map接口中声明。这是一个内部界面。所以为了使用它,我们必须引用Map类,因此Map.Entry。
+1
当然这是一个公共接口,否则你不能从另一个类引用它。接口的所有成员都是自动的'public',而'Map'是一个接口,'Entry'是接口'Map'的成员,所以它也是'public'。 –
+0
@Erwin Bolwidt当然! – Zava
相关问题
- 1. 在Java API中是否有一个LayoutManager允许我这样做?
- 2. C - 为什么我允许这样做?
- 3. 我如何使不允许列允许空和允许空列不允许空
- 4. 不允许两个名称相同 - mongodb
- 5. 阵列允许不允许
- 6. Hive允许列名称
- 7. 的EditText焦点不会允许我这样做onKeyBack
- 8. clojure是否允许线延续?如果是这样,怎么样?
- 9. .htaccess允许扩展名,不允许扩展名,并允许尾随斜杠
- 10. 为什么java允许这样做?
- 11. Magento钩 - 请问Magento是否允许我这样做?
- 12. 类型名称不允许的,从主()
- 13. Bing是否允许像Google一样的图片Sitemap?
- 14. 是否允许每个App Engine应用(不是1,000)允许3,000个文件?
- 15. Toast是否允许从一个Android appWidget?
- 16. C++错误:类型名称不允许
- 17. 硒化合物类名称不允许
- 18. 类型名称不允许和期望)
- 19. System.Net.Mail.SmtpFailedRecipientException:邮箱名称不允许
- 20. 是否允许多个XML默认名称空间?
- 21. 这是允许在C吗?
- 22. 允许逗号和以点
- 23. WPF“EditItem”不允许这种观点
- 24. 是否允许使用匿名函数?
- 25. 是否Umbraco允许non-umbraco子域名
- 26. OrientDB是否允许一个或多个顶点的多条边?
- 27. 是否允许我的VHDL语句?
- 28. 柱这里不允许
- 29. 这里不允许注释
- 30. UI元素在这一点上是不允许的
因为它是您正在访问的Map接口的内部接口。 – SomeJavaGuy
供参考的链接https://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html。这里有一个讨论 - > http://stackoverflow.com/questions/70324/java-inner-class-and-static-nested-class –
@KevinEsche其实它是一个接口;) – vikingsteve