【发布时间】:2014-01-24 16:54:43
【问题描述】:
回答这个问题:How to GUI - Using paintcomponent() to initialize a GUI and then to add GUI based on mouse 我已经说过了:
您没有正确覆盖
paintComponent()。这是一个受保护的 方法,不公开。如果在这个方法上添加@Override注解 然后编译器会抱怨。
但@peeskillet 明智地指出了这一点:
编译器不会抱怨
public或protectedpaintComponent。您可以覆盖更高的可见性,但不能覆盖 降低一个。public高于protected所以没有问题。
这当然是真的。但是现在出现了这个问题:是否具有较高的可见性覆盖是一种好的做法?
附录
链接到JComponent.paintComponent()javadoc。
Netbeans 完全没有抱怨的图片:
【问题讨论】:
-
如果您需要,可以。否则,不要这样做。
-
哇。我难住了。 java真的让你这样做吗?这真的值得在 Coding Horror 中发表一篇文章……
标签: java overriding class-design