日期:2014-05-20  浏览次数:20637 次

抽象方法的问题?
Java code
public void paint(Graphics g){
      Color c= g.getColor();
      g.setColor(Color.black);
      g.drawOval(200, 200, 50,50);
      g.setColor(c);
      
      
    }

  drawOval()只是Graphics中的抽象方法,也就是说只是声明了一下 而没有方法体,那为什么可以用g. drawOval()能画出一个圆?

------解决方案--------------------
g是new出来 他是Graphics实现类的对象,而该实现类实现了drawOval方法 这就是多态
------解决方案--------------------
对象多态性,引用类型不能代表实际类型。