Совместимость с AWT, который поддерживает только Graphics
. Компоненты Swing расширяют java.awt.Component
, в котором есть метод getGraphics
, который возвращает только объект Graphics
. На момент создания Swing (Java 1.1 / 1.2) Java не знала ковариации. Переопределенный метод с другим (подклассом оригинального) возвращаемого типа не допускался, даже если возвращаемый тип не является частью сигнатуры метода. С сегодняшней функцией языка это разрешено и, вероятно, будет сделано по-другому, то есть тип возврата будет изменен на Graphics2D
. В то время единственным способом было бы либо добавить новый метод (например, getGraphics2D
), либо полностью нарушить легкую совместимость с AWT.