>>15
もうわかってると思うけど
Exception in thread "main" java.io.NotSerializableException: sun.awt.util.IdentityArrayList
で表示されてるクラス(この場合はIdentityArrayList)が直列化可能でないクラスね。

>>16
いやimplements Serializableで例外は出なくなったけど?
elementDataフィールドがtransientなのでおそらく期待通りには動作しないと思うけど。

>>19
言葉通りの意味でとらえると、Javaでそれを実現するのはインタフェースでなく抽象クラスだね。
JApplet <- 抽象クラス <- 自作JApplet継承クラス
のように継承を作ることになる。
…けど、継承でなく委譲を使うべき典型的なパターンではないかと予想。

>>17
ここで聞くよりググれボケ。
両方あるだろ。