Я прочитал программу GUI, как это:Почему абстрактный метод fillOval() может использоваться непосредственно?
import java.awt.*;
public class TestPaint{
public static void main(String[] args){
new PaintFrame().launchFrame();
}
}
class PaintFrame extends Frame{
public void launchFrame(){
setBounds(200,200,640,480);
setVisible(true);
}
public void paint(Graphics g){
Color c = g.getColor();
g.setColor(Color.red);
g.fillOval(50,50,50,50);
g.fillRect(80,80,40,40);
g.setColor(c);
}
}
Это программа, которая может работать в памяти, вот результаты, [К сожалению у меня не хватает репутации размещать изображения, но может работать]
, когда я прочитал APIfile, я нашел fillOval() метод определен в классе Graphics, как это:
public abstract void fillOval(int x,
int y,
int width,
int height)
Почему я могу напрямую использовать абстрактную fillOval() в программе? Кроме того, где я могу найти конкретные реализации fillOval() в этой программе?
Никогда не нужно переходить от «Графика», чтобы обеспечить реализацию, если только вы серьезно не рассматриваете возможность написания реализации для другого графического драйвера или что-то в этом роде, но тогда вам нужно будет повторно реализовать весь core AWT-библиотека для поддержки ... просто говоря;) – MadProgrammer
В этом случае я уверен, что в AWT-библиотеке реализована реализация по умолчанию :) @ZHI проверить и использовать ее, –
Пожалуйста, проверьте всю мою программу, я предоставляю ее на вопрос. Теперь я задаю вопрос, где можно найти конкретную реализацию fillOval()? –