Il Graphics è una API astratta perché in realtà ci possono essere implementazioni differenti. Si può avere il Graphics per disegnare su un componente, su una immagine, su una stampante, ecc... E la implementazione può differire anche a seconda del S.O. e del fornitore del runtime Java. Infatti, se hai mai notato, un Graphics(2D) non lo istanzi mai tu ... ma ti viene sempre fornito dal framework.
Per quanto posso vedere io ora su Windows (Oracle JDK 8), il Graphics passato al paintComponent di un componente è di classe sun.java2d.SunGraphics2D. Il package principale è "sun", vuol dire che fa parte della API interna di Sun/Oracle, non "pubblica" né documentata. (FAQ - Sun Packages)
Se la cerchi su internet, puoi trovare il sorgente dal OpenJDK:
http://grepcode.com/file/repository....raphics2D.java