On Wed, 29 Aug 2001 16:26:59 -0500, David L. Nicol wrote: >Bill J. Programmer publishes a class foo that is guaranteed to correctly >blarg the frobniz, someone subclasses it and breaks the blarg function, >that simply will not do! > >With a "final" it is no longer possible for the new class to identify >itself as a foo. It's not a foo. It's instance of a *subclass* of foo. If it can't be different than foo, then you might just as well toss out the idea of subclassing altogether. Look at the "lame duck" example on this page: <http://www.cs.mdx.ac.uk/harold/srf/javaspae.html>. So you say a duck has two legs. That's fine as a default. But a lame duck, with one leg missing, only has one leg. So if you make the number of legs (or feet) of a duck "final", then lame ducks can't be ducks. Or they can be ducks, but then they can't have but one leg. -- Bart.Thread Previous