Java 了解抽绳的工作原理

Java 了解抽绳的工作原理,java,methods,graphics,abstract,Java,Methods,Graphics,Abstract,给定以下代码: import javax.swing.*; import java.awt.*; public class NewClass extends JPanel { public void paintComponent(Graphics g) { g.drawLine(0, 0, 90, 90); } public static void main(String[] args) { JFrame jf = new JFrame

给定以下代码:

import javax.swing.*;
import java.awt.*;

public class NewClass extends JPanel {
    public void paintComponent(Graphics g) {
        g.drawLine(0, 0, 90, 90);
    }

    public static void main(String[] args) {
        JFrame jf = new JFrame();
        jf.add(new NewClass());
        jf.setSize(500, 500);
        jf.setVisible(true);
    }
}
如果方法
drawLine
是抽象的,并且正如我所理解的,抽象方法没有定义,那么它为什么要画一条线呢

提前谢谢你

paintComponent()
获取
Graphics
的非抽象子类,该子类实现了
drawLine()
。它必须得到一个非抽象的子类,因为抽象类不能被实例化

public void paintComponent(Graphics g) 

这里Graphics有抽象方法drawLine,它没有实现主体,但它的子类有drawLine的具体实现。调用paintComponent时,将传递相应的非抽象图形子类的对象

,实际的实现代码将是特定于平台的,由于OOPS和多态性的魔力,我们可以轻松地使用它,而不必知道它的内部结构。1+它的多态性。实现该方法的某些子类将被传入
paintComponent(图形g)
方法中?只是想知道。