java中的抽象方法,如clearRect
类中的getColor
,java.awt.Graphics
,不应该有任何方法体。那么为什么可以在类paint(Graphics g)
的{{1}}方法中调用它们呢?当我没有怀疑javax.swing.JPanel
是一个抽象类时,我收集到Graphics
类的构造函数中调用paint
方法,大致是这样的:
JPanel
但事实证明,this.setGraphics(new Graphics());
paint(this.getGraphics());
是类setGraphics
中不存在的方法,但JPanel
存在。但是,甚至如何为getGraphics
设置Graphics
组件?
至于主要问题,是否存在扩展JPanel
的非抽象类,其实例是作为Graphics
方法的参数?然后他们可以将它定义为paint
数据类型,同时仍然填写抽象方法细节,对吗?