【发布时间】:2015-01-13 20:12:11
【问题描述】:
我知道孩子不能降低非静态方法的可见性,并且我理解为什么会这样。
然而,我读过“静态方法可以通过重新声明来隐藏”。但是我不明白如何在 Java 中实现这一点。
这真的可能吗?如果是,怎么做(代码示例)以及为什么要引入(似乎与不降低界面可见性的原则相矛盾)?
【问题讨论】:
-
你有第二个声明的参考/链接吗?
-
除非我弄错了,否则很可能意味着覆盖静态方法。当你重写时,你只改变了方法的主体——其他一切,即返回类型、方法名称和签名保持不变。这是排序或重新声明。重载也应该起作用。
-
确实,Eclipse 不允许我覆盖它,它的处理方式与非静态方法相同。所以不是 Eclipse,是 Java 的限制,对吧?
-
@infoholic_anonymous 然后重载 - geeksforgeeks.org/… 另外,不要再说“Eclipse 不允许我覆盖/重载...” Eclipse 是一个工具。即使您使用 IntelliJ、Notepad++ 等,您也会遇到同样的问题。这是一个与 Java 语言相关的问题。工具就是工具。
标签: java inheritance information-hiding