2 bazingaea Bazingaea 于 2016.03.13 14:43 提问

java中为什么会自动执行子类重写父类的方法?

问题:

1.在main方法中我没有调用paint方法,为什么它会自动被调用?
2.老师说这是多态,可是多态不是需要三个条件实现么?继承,重写方法,父类引用指向子类对象,这里没有第三点啊

代码如下:

public class GameFrame extends Frame{

public void launchFrame(){
setSize(500,500);
setLocation(100,100);
setVisible(true);
}

@Override
public void paint(Graphics g) {
g.drawLine(100,100,200,200);
g.fillRect(100, 100, 20, 20);
}

public static void main(String[] args) {
GameFrame gf=new GameFrame();
gf.launchFrame();
}

}

2个回答

kobe241314886
kobe241314886   2016.03.13 14:55

有的方法和接口就是这样设计的,重载,也是多态的一种,这样有更好的封装

Bazingaea
Bazingaea 重载不是同名不同参数么,哪来的重载啊
接近 2 年之前 回复
Bazingaea
Bazingaea 这里没有重载,只是重写
接近 2 年之前 回复
bdmh
bdmh   Ds   Rxr 2016.03.13 15:01

这就是多态,父类中会执行paint,他会执行到具体的实现类里

Bazingaea
Bazingaea 可是main函数里也没有定义父类引用指向子类对象啊,父类怎么执行paint,通过什么执行?
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!