为什么在扩展子类时需要将确切的方法作为基类?

时间:2014-03-24 15:06:54

标签: java inheritance

它与继承有关,但我仍然不知道如何将这两个东西连接在一起。例如,为什么public void paint(Graphics窗格)不能公共void draw(图形窗格)或public void paint(Graphics pane,int x,int y)?

2 个答案:

答案 0 :(得分:0)

扩展Frame的类 以覆盖任何方法。他们可以覆盖他们想要扩展Frame的默认行为的任何方法(例如绘制自定义背景),包括上面提到的所有paint()方法。

您提到的其他方法未在Frame类中定义,因此Java不知道如何调用它们。

但就像我说的那样,没有规则说你来覆盖任何上述方法。但是如果你没有覆盖任何方法,你为什么要首先扩展Frame呢?

另一方面,你可能应该使用JFrame而不是Frame。

答案 1 :(得分:0)

因为如果要更改方法签名,那么就不再有继承了。

如果您需要其他对象功能,即继承是必不可少的。 class X extends JPanel