给出以下代码:

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()。它必须获得一个非抽象的子类,因为不能实例化一个抽象类。

09-10 03:31