> Is there a standard way to do this? I know I can't extend two classes.
> What do smart people do in this situation?
Subclassing is dangerous, as you're finding out. You should only subclass
when *absolutely* necessary, e.g. to create a GUI component that will be
compatible with the Swing framework.
I use a little naming rule which says that anything named -able (like
Observable) should be an interface. Runnable, Serializable, Comparable...
all clearly define attributes for would-be implementations. So Observable
should have been an interface.
Is there any way you could systematically break the subclass link and use
Observable as objects to delegate to, within your current Observable
subclasses? If so, I'd start editing...