代码之家  ›  专栏  ›  技术社区  ›  Hanna Assaf

为什么它是超级的。画(g)而不是这个。油漆(g)?

  •  -1
  • Hanna Assaf  · 技术社区  · 3 年前

    只是一个关于继承的理论问题。

    假设我有一个类“GamePanel”,它扩展了JPanel。

    我知道如果我打电话 super.paint(g) ,它将调用父类(JPanel)绘制方法。

    但是如果我创建了一个对象游戏面板,它不应该已经存在了吗 继承 所有的JPanels方法?既然如此,为什么不呢 this.paint(g) 工作当前对象应该能够访问该方法,对吗?

    如果没有,原因是什么 this.setBackgroundColor(...) 工作

    因为显然 这setBackgroundColor(…) 它和 super.setBackGroundColor(...) .所以就像“超级”可以访问所有方法,而“这个”不能?

    1 回复  |  直到 3 年前
        1
  •  0
  •   rogerdpack    3 年前

    如果你重新定义了 paint 在儿童班。。。你需要在你的生活中找到一条路 油漆 方法调用祖先 油漆 方法,否则它只能像从该方法中递归地“调用自身”。。。