Java中render方法是否为重写?若为重写,对应的超类是哪个?
关于Java中
render(Graphics g)方法是否重写自超类的解答 首先直接给结论:在标准Java SE的核心库中,并没有一个内置的超类拥有public void render(Graphics g)这个方法签名——所以如果你的类是直接继承自Object、Component、JComponent这类标准类,那这个render方法并不是重写超类的方法,而是你自定义的新方法。
不过有几种常见场景下,这个方法可能是重写:
- 自定义父类:如果你的类继承了项目里自己编写的某个超类,而该超类刚好定义了
public void render(Graphics g)方法,那你的这个方法就是重写该自定义超类的方法。 - 第三方/游戏框架:在一些Java游戏开发或图形框架中,部分类会定义类似的
render方法(注意参数是否完全匹配,很多框架的render方法参数并非Graphics)。如果你的类继承自这类框架的类,且方法签名完全一致,那就是重写。
另外给你一个快速验证的小技巧:在你的render方法上方加上@Override注解,如果编译器没有报错,就说明这个方法确实是重写了超类的方法;如果报错,就证明不存在对应的超类方法可以重写。
内容的提问来源于stack exchange,提问作者Rachel Carlson
相关产品推荐
相关产品推荐

