This is an applet called fireshow, a simple fireworks display:
The code is in these files:
In addition to demonstrating inheritance, this applet also demonstrates threading. I initially had each projectile run as its own thread, but that was very slow. Now it has one thread occasionally launch a rocket, while another thread handles all the existing projectiles (erasing, moving, and if not expired, redrawing), which are stored in a Vector. Admittedly, this application does not really require threading, and would be simpler without it, plus it doesn't do proper synchronization, but that's not the point!