java.awt.Graphics:是否调用抽象方法?
java中的抽象方法,如java.awt.Graphics:是否调用抽象方法?,java,swing,awt,Java,Swing,Awt,java中的抽象方法,如java.awt.Graphics类中的clearRect,getColor,不应该有任何方法体。那么,为什么可以在类javax.swing.JPanel的paint(Graphics g)方法中调用它们呢?当我没有怀疑Graphics是一个抽象类时,我发现paint方法在JPanel类的构造函数中被调用,大致如下: this.setGraphics(new Graphics()); paint(this.getGraphics()); 但事实证明,setGraphic
java.awt.Graphics
类中的clearRect
,getColor
,不应该有任何方法体。那么,为什么可以在类javax.swing.JPanel
的paint(Graphics g)
方法中调用它们呢?当我没有怀疑Graphics
是一个抽象类时,我发现paint
方法在JPanel
类的构造函数中被调用,大致如下:
this.setGraphics(new Graphics());
paint(this.getGraphics());
但事实证明,setGraphics
在类JPanel
中是不存在的方法,但是getGraphics
存在。但是,即使是Graphics
组件是如何为JPanel
设置的呢
至于主要问题,是否有一个非抽象类扩展了
Graphics
,其实例将作为paint
方法的参数?然后他们可以将其定义为图形
数据类型,同时仍然填充抽象方法细节,对吗?是的<代码>SunGraphics2D。是<代码>太阳镜2d。